2

我正在寻找一种按预定时间间隔从 DynamoDB 批量读取更新的方法。

例如,每 10 分钟我希望能够读取自上次读取以来发生的对 DynamoDB 表的所有更新。

我了解 DynamoDB 流可以设置为触发 Lambda 函数。Lambda 是否可以在特定时间间隔内批量处理所有更新?一次性全部处理?

4

1 回答 1

3

是的。

您需要设置一个云监视警报(每 10 分钟一次,如 cronjob,并将其配置为您的 lambda.

但是(!),您将需要编写读取 dynamodb 流的代码,这将是一个挑战。

您将需要在某个地方(另一个 dynamodb 表、S3 或 redis)持久化 dynamodb 流中处理的最后一个位置 - 这样您就不会处理两次相同的更新。

我强烈建议您使用默认拓扑,并将触发器设置为 dynamodb,然后您的 lambda 将获得更新的记录作为输入。AWS 为您管理流中的位置,这(与其他选项不同)是一种可扩展的解决方案。

于 2017-05-16T19:44:25.227 回答