当存储在 DynamoDB 表中的项目发生更改时,许多应用程序都会因能够捕获此类更改而受益。下面是一些用例示例:
-
一个 AWS 区域中的一个应用程序将修改 DynamoDB 表中的数据。另一个区域中的第二个应用程序将读取这些数据修改并将数据写入另一个表中,并创建一个与原始表保持同步的副本。
-
一个热门移动应用程序以每秒数千次更新的速率修改 DynamoDB 表中的数据。第二个应用程序捕获和存储有关这些更新的数据,并提供针对该移动应用程序的近乎实时用量指标。
-
一种全球多人游戏具有多主机拓扑结构,并将数据存储在多个 AWS 区域中。每个主机通过使用并重放远程区域中发生的更改来保持同步。
-
一旦某个好友上传新图片,一个应用程序就会自动向群组中的所有好友的移动设备发送通知。
-
一个新客户将数据添加到 DynamoDB 表。此事件调用另一个应用程序,以便向该新客户发送欢迎电子邮件。
DynamoDB 流 支持诸如此类的解决方案以及许多其他解决方案。DynamoDB 流 在任何 DynamoDB 表中捕获按时间排序的项目级修改序列,并将此类信息存储在日志中长达 24 小时。应用程序可访问此日志,并在数据项目修改前后近乎实时地查看所显示的数据项目。
DynamoDB 流 的终端节点
![](https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/images/streams-endpoints.png)
AWS 为 DynamoDB 和 DynamoDB 流 维护单独的终端节点。要使用数据库表和索引,您的应用程序必须访问 DynamoDB 终端节点。要读取和处理 DynamoDB 流 记录,您的应用程序必须访问相同区域内的 DynamoDB 流 终端节点。