我有一个由SNS触发的lambda函数。我读到即使lambda失败,即使在dlq中使用SQS重试后也可以处理错误。最好的方法是什么。
我可以拥有一个SQS作为DLQ,然后触发一个不同的lambda函数,或者我可以拥有一个SNS来触发相同的函数。
如果我使用触发lambda的相同逻辑,那么我可以使用失败重试的逻辑,否则我将不得不编写代码来处理SQS作为DLQ的错误。
答案 0 :(得分:0)
我认为这将是一个坏习惯。
DLQ是用来放置功能失败的所有消息的
我认为您不希望在同一输入上继续运行失败的功能。这适用于最相关的用例。当然,您会发现一个极端的用例,您想一直尝试下去。
此外,DLQ是一个队列。您将提供的名称应该是队列(SQS)的名称,而不是主题(SNS)。