从lambda触发器返回,而不从队列中删除消息

时间:2020-07-13 20:56:49

标签: amazon-web-services aws-lambda amazon-sqs

在我的lambda函数中,我将receiptHandle作为正文数据发送到服务器。然后,该服务器必须完成工作,并告诉SQS删除此消息。
问题是aws docs说:

...
如果您的函数成功处理了批处理,则Lambda将从队列中删除消息。如果您的函数受到限制,返回错误或没有响应,则消息将再次可见。

这意味着,如果我将SQS消息删除委托给另一个服务并结束Lambda执行,则此Lambda出口将删除SQS消息,这是我不希望发生的。消息的可见性超时也应该保持不变。
有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

有没有办法做到这一点?

不。内置的 SQS-> Lambda 集成以这种方式工作(即,一旦Lambda函数成功返回(如您链接和引用的文档中所述),它将从SQS中删除一条消息,但并非如此)可配置的。

[...]我不想发生。

您为什么要将SQS消息删除委托给另一个服务?您 真的 想要达到什么目的?