AWS Lambda - 重复同步触发,直到满足条件

AWS Lambda - trigger synchronously repeatedly until a condition has been met

我有一个用例,我希望计划的 lambda 从 dynamodb table 读取,直到没有记录可以从其 dynamodb 查询中处理。我不想 运行 很多 lamdba 实例,因为它每次都会命中 REST 端点并且不想让这个外部服务过载。

我认为我不能使用发电机流的原因(如果我在这里错了请纠正我)是 这个 DDB 是遗留服务关闭时发送消息的地方,将读取它们的预定错误处理程序 lambda 不想在插入它们后立即尝试处理它们,因为遗留服务很可能仍然关闭。 (是否可以使用流更新数据库中的一行,比如 legacy_service = alive 然后仅针对 processed_status = false 的行触发 lambda)

我也不希望一次拥有多个 lambda 运行ning 实例,因为我不想限制旧版服务。

我想要一个计划的 lambda,它查询 dynamodb table 的所有 processed_status = false 的记录,查询有一个限制,只能检索一小批(1 或 2 条消息)和处理它们(我已经实现了这部分)当这个 lambda 完成时,我希望它一次又一次地触发,直到 DDB 中没有记录 processed_status = false.

这可以用递归函数来完成这里很好的教程https://labs.ebury.rocks/2016/11/22/recursive-amazon-lambda-functions/