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

时间:2020-09-17 09:23:19

标签: amazon-web-services aws-lambda amazon-dynamodb amazon-dynamodb-streams

我有一个用例,我希望从dynamodb表中读取计划的lambda,直到从dynamodb查询中没有要处理的记录为止。我不想运行lamdba的许多实例,因为它每次都将到达REST端点,并且不想过载此外部服务。

我认为我无法使用发电机流的原因(如果我在这里错了,请纠正我)是 此DDB是在旧服务关闭时将发送消息的位置,读入消息的计划错误处理程序lambda不想在插入后立即尝试对其进行处理,因为旧服务可能仍在关闭。 (是否有可能使用流来更新数据库中的一行,例如legacy_service = alive,然后仅对处理了状态= false的行触发一个lambda)

我也不想一次运行多个lambda实例,因为我不想限制传统服务。

我想要一个调度的lambda来查询dynamodb表以获取所有处理完毕的状态= false的记录,该查询具有一个限制,只能检索一小批(1或2条消息)并处理它们(我已经实现了这一部分)当此lambda完成时,我希望它一次又一次触发,直到DDB中没有处理为status = false的记录为止。

1 个答案:

答案 0 :(得分:0)

这可以通过递归函数完成,请参见https://labs.ebury.rocks/2016/11/22/recursive-amazon-lambda-functions/