AWS DynamoDB – 使用流
DynamoDB Streams是一项 DynamoDB 功能,允许用户跟踪对 DynamoDB 中的数据所做的任何更改。它是一个“有序的数据流”,其中包含有关对 DynamoDB 表中的数据所做的更改的信息。让我们谈谈一个用例。考虑 DynamoDB 中的“用户”表,您的应用程序需要在添加新用户或更改用户数据时对用户信息进行一些预处理/验证。您可以为此数据启用 Dynamo DB 流,这将允许您近乎实时地访问有关对此表中任何数据所做的所有更改的日志。
DyanamoDB 流的特点
- 数据最多可存储24 小时。任何在 DynamoDB Streams 中处理数据的应用程序都必须在 24 小时内使用数据,以避免任何数据丢失。
- 加密的 DynamoDB 表的流是加密的。
在 DynamoDB 表上启用流
按照以下步骤在 DynamoDB 表上启用流:
步骤 1:打开 AWS 控制台。导航到 DynamoDB 仪表板 -> 选择表 -> 选择要为其启用 DynamoDB 流的现有表。单击 Manage DynamoDB Streams 按钮,如下所示。
第 2 步:为您的用例选择适当的选项,然后单击启用。
- 仅键 – 流中仅接收修改项的键属性。
- 新图像 – 收到整个更新的项目,因为它在更新发生后出现。
- 旧图像 – 收到整个更新的项目,因为它在更新发生之前出现。
- 新旧图像 – 收到更新项目的两条记录,因为它显示在更新发生之前和之后。
这将启用 DynamoDB 流,它将接收对 DynamoDB 中的数据所做的所有更改的日志。请注意,如果您在表中执行 PUT 或 UPDATE 操作并且没有修改任何项目,则操作日志/数据不会记录在 DynamoDB 流中。
在 DynamoDB 流中使用数据
DynamoDB 流数据为您提供近乎实时的数据,包括对 DynamoDB 表所做的所有更改。要读取和处理流,您需要创建一个自定义应用程序,该应用程序必须通过 API 请求连接到 DynamoDB Streams 终端节点。连接到 DynamoDB 流的另一种方法是在 AWS Lambda 中创建一个 DynamoDB 触发器。每次将数据推送到 DynamoDB 流中时,它都会调用 Lambda函数进行处理。
添加 lambda 触发器: