我正在寻找一种按预定时间间隔从 DynamoDB 批量读取更新的方法。
例如,每 10 分钟我希望能够读取自上次读取以来发生的对 DynamoDB 表的所有更新。
我了解 DynamoDB 流可以设置为触发 Lambda 函数。Lambda 是否可以在特定时间间隔内批量处理所有更新?一次性全部处理?
我正在寻找一种按预定时间间隔从 DynamoDB 批量读取更新的方法。
例如,每 10 分钟我希望能够读取自上次读取以来发生的对 DynamoDB 表的所有更新。
我了解 DynamoDB 流可以设置为触发 Lambda 函数。Lambda 是否可以在特定时间间隔内批量处理所有更新?一次性全部处理?
是的。
您需要设置一个云监视警报(每 10 分钟一次,如 cronjob,并将其配置为您的 lambda.
但是(!),您将需要编写读取 dynamodb 流的代码,这将是一个挑战。
您将需要在某个地方(另一个 dynamodb 表、S3 或 redis)持久化 dynamodb 流中处理的最后一个位置 - 这样您就不会处理两次相同的更新。
我强烈建议您使用默认拓扑,并将触发器设置为 dynamodb,然后您的 lambda 将获得更新的记录作为输入。AWS 为您管理流中的位置,这(与其他选项不同)是一种可扩展的解决方案。