0


我对 AWS Lambda 有一些疑问,但在文档中找不到太多详细信息
如何增加 AWS Lambda 中的重试次数?
如果发生最大重试次数并且整个 Lambda 失败,我如何才能获得某种通知?

4

1 回答 1

0

Lambda 重试基于许多因素。我建议您查看官方文档以了解每种类型的重试,但长话短说:

  1. 基于流的同步事件源可以重试或不重试。这取决于服务
  2. 异步事件源最多将重试 3 次。如果所有消息都失败,则可以配置 DLQ 以接收失败的消息
  3. (基于流和基于轮询的事件源)(如 Kinesis 或 Dynamo)将重试,直到配置的数据保留。要小心,因为如果一条消息失败并且消息本身是有毒的,它将不断重试,直到过期并且不会处理新消息
  4. (非基于流的 && 基于轮询的事件源)(SQS)将在失败的情况下丢弃消息(除非它是调用失败或超时)。如果丢弃,它们将被发送到您之前配置的 DLQ。

因此,基于上述信息,我们可以解决您关于通知的问题:您可以让另一个 Lambda 订阅您的 DLQ 以接收消息并以您想要的方式通知。通过从函数本身发送电子邮件或将其发送到 SNS(可能直接发送电子邮件或用它做任何你想做的事情)。

对于重试量,对于已经内置的值是不可配置的。您可以走的最远的是从您的代码同步调用 Lambda 函数,如果出现异常,请根据需要重试(如果需要,指数退避也需要手动编码)

于 2019-03-08T20:10:02.533 回答