在我的lambda函数中,我将receiptHandle
作为正文数据发送到服务器。然后,该服务器必须完成工作,并告诉SQS删除此消息。
问题是aws docs说:
...
如果您的函数成功处理了批处理,则Lambda将从队列中删除消息。如果您的函数受到限制,返回错误或没有响应,则消息将再次可见。
这意味着,如果我将SQS消息删除委托给另一个服务并结束Lambda执行,则此Lambda出口将删除SQS消息,这是我不希望发生的。消息的可见性超时也应该保持不变。
有没有办法做到这一点?
答案 0 :(得分:2)
有没有办法做到这一点?
不。内置的 SQS-> Lambda 集成以这种方式工作(即,一旦Lambda函数成功返回(如您链接和引用的文档中所述),它将从SQS中删除一条消息,但并非如此)可配置的。
[...]我不想发生。
您为什么要将SQS消息删除委托给另一个服务?您 真的 想要达到什么目的?