【发布时间】:2021-03-25 08:11:41
【问题描述】:
我在这里查看 AWS SQS 文档:https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/ReceiveMessage.html#receive-sqs-message
我的理解是,我们需要在处理完消息后使用 AmazonSQSClient.DeleteMessage() 删除消息,但是当我们使用 SQS 触发的 Lambda 时是否有必要这样做?
我正在使用由SQSEvent 触发的 Lambda 函数进行测试,除非我弄错了,否则如果 Lambda 函数运行完成而没有引发任何错误,则消息不会返回到 SQS 队列.如果这是真的,我宁愿避免对AmazonSQSClient.DeleteMessage() 进行不必要的调用。
Here 是 2019 年的一个类似问题,最重要的答案是 SDK 不会自动删除消息,需要在代码中明确删除它们。我想知道从那以后是否有任何变化。
想法?
【问题讨论】:
-
对术语的小注释。在 Lambda 函数无法处理 SQS 消息的情况下,这些消息不会返回到 SQS 队列。相反,它们再次变得可见(一旦它们的可见性超时发生)。这些消息从未离开 SQS 队列。
标签: amazon-web-services aws-lambda aws-sdk amazon-sqs