是否有一种方法可以在Lambda中重试之间传递值?



例如,Try一次失败,我们可以通过下面的方式向下一次重试的事件对象传递几个参数吗?

事件。Somevariable = somevalue

如果我们想做这样的事情,我们有什么选择?

我不喜欢Lambda重试。它们的运行与初始调用完全相同,如果第一次失败,则在随后的两次重试中也会失败。有什么变化?

我将假设您想传递一个变量来跟踪正在执行的重试,并可能进行更改,以便后续重试成功-这确实有意义。然而,不幸的是,您需要在lambda之外查看才能实现这一点。

DynamoDB是一种常用的方法,用于跟踪事件ID和执行次数,但我个人认为这是一个问题。

我宁愿在失败时使用Amazon SNS ping一个HTTP端点,然后用不同的参数重新执行lambda函数。只要注意(在所有情况下)幂等性。您应该能够多次重新执行lambda,而不会导致问题或覆盖预期发生的事情。

在AWS中没有办法直接这样做。

您可以使用请求ID作为存储该值的DynamoDB表中的主键,并始终在请求开始时在DynamoDB中查找这些值。

最新更新