重试和DLQ推送无法从AWS Lambda运行

时间:2017-06-22 18:47:23

标签: amazon-web-services aws-lambda

我已配置AWS Lambda,以便所有错误都转到DLQ。它默认已经有2次重试,之后它应该将数据推送到DLQ。早些时候,一切都工作正常,重试2次,然后它发送数据到DLQ。但现在,突然之间,它停止了工作。现在,它在抛出异常时正在重试。可能是什么原因?

这是我故意抛出错误的代码片段。

def lambda_handler(event, context):
    eventSource = event['Records'][0]['EventSource'] . ## On this line, error will be thrown as the message I am sending does not abide by this format and it is giving KeyError.
    ....
    ....
    ....

我不知道应该检查什么? AWS Lambda重试并发送到DLQ的异常类型是否有任何限制。

1 个答案:

答案 0 :(得分:3)

我发现问题发生的原因。这是因为在AWS Lambda中,我使用测试配置设置进行测试,这是一个同步调用。如果我们从SNS或SQS正确调用lambda函数,那么它将是事件调用。并且仅在事件调用的情况下,lambda重试是可能的。

http://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html