aws lambda 的重试机制不起作用。超时异常后不重试

Retry mechanism of aws lambda is not working. It is not retrying after timeout exception

我正在使用一小段代码故意使 lambda 函数超时

import json
import time
def lambda_handler(event, context):
    time.sleep(5)

这些是我的 lambda 配置 -

general configuration

Asynchronous invocation

我在 运行 这个脚本之后得到的错误 -

Error logs

但是超时异常后不重试

您的问题似乎是您的 SNS 消息在第一次重试之前已过期。 Lambda 重试在 1 分钟后发生,然后在 2 分钟后再次重试。您的配置在 1 分钟后使异步事件过期。

使用默认设置(最长 6 小时,重试 2 次,无 DLQ)时,您的代码可以正常工作并在失败前重试两次。