【问题标题】:The receipt handle has expired while deleting message from SQS FIFO queue从 SQS FIFO 队列中删除消息时,收据句柄已过期
【发布时间】:2022-09-23 18:21:22
【问题描述】:

我试图删除 fifo 队列消息,但我的可见性超时为 12 小时。但我仍然无法在轮询时间后删除消息。我已经搜索了很多,但没有得到任何我们完整的方法来删除该消息。可以请人帮我吗。Queue configuration screenshot, Message Receiver screenshot, Error screenshot

  • 你能澄清一下你的经历吗?您是否尝试删除该消息可见期已过,或它过期了吗?你能告诉我们你的代码吗?
  • 首先感谢您的快速回复。为此,我正在使用 AWS 控制台,并尝试在轮询持续时间完成后删除该消息。如果我尝试在轮询期间删除消息。它工作正常。
  • 图片已添加到帖子中

标签: amazon-web-services cloud amazon-sqs aws-sqs-fifo


【解决方案1】:

当。。。的时候Amazon SQS 控制台用于查看 SQS 队列的内容,它调用与普通应用程序调用相同的ReceiveMessage() API 调用。这会触发消息不可见性并增加用于将消息发送到死信队列的“接收计数”。

ReceiveMessage() 被调用时,可以指定不同的可见性超时.我怀疑控制台正在使用低可见性超时,因此它不会阻止队列消费者能够访问消息。因此,当轮询完成时,隐身期可能已经到期。

如果这种行为不适合您的情况,您可以编写自己的“消息查看器”指定更长的不可见超时。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2019-11-07
    • 2015-04-23
    • 2020-03-24
    • 2018-12-31
    • 2018-08-29
    • 1970-01-01
    • 2021-05-01
    • 2016-04-29
    相关资源
    最近更新 更多