首页 > 解决方案 > 如何为巨大的静态 dynamodb 表中的每个项目触发 lambda

问题描述

我有一个包含近 200k 个项目的 dynamodb 表。我需要为其中的每个项目触发一个 lambda(将每个项目作为输入发送到 lambda)。我想对表中的所有项目每 x 小时执行一次。表中的数据每 5 天左右更改一次。

有没有一种无服务器的方法可以通过 SQS 等自动将所有项目获取到 lambda?

我不能让 lambda 扫描整个表,因为 lambda 处理它太多(给定 300 秒的限制等)。

谢谢,维诺德。

标签: amazon-web-servicesaws-lambdaamazon-dynamodbaws-serverlesssam

解决方案


扫描和更改 Dynamodb 中的所有数据都不可行。

您可以将所有 dynamodb 键保存在像 redis 这样的缓存中,可以有一个单独的作业从 redis 获取键并放入 lambda 正在侦听的 sqs。redis 键可以使用 dynamodb 流保持最新。


推荐阅读