无法查看/接收来自 AWS SQS 的所有消息

Den*_*kov 5 amazon-sqs amazon-web-services

我有一个 FIFO SQS 队列,我正在一个接一个地发送 4 条消息。发送前 4 条消息后,我运行了一个程序来接收它们,但仅返回 2 条消息 - 即使使用长轮询且最大消息 = 10。

我又发送了 4 条消息 - 现在总共有 8 条消息。用于接收消息的 AWS SQS UI 和我用于接收消息的代码 - 仅显示 2 条消息,但表示有 8 条消息可用。

再发送 4 条消息后,您可以在随附的屏幕截图中看到 SQS UI 显示 12 条可用消息,但仅列出 2 条消息,并且我有 C# 代码来接收消息,使用长轮询,也只返回 2 条消息。

在此输入图像描述

我做错了什么,我可以看到所有可用的消息?

sas*_*hee 5

您需要删除带有 ReceiptHandle 的消息才能获取其他消息。FIFO 队列保证消息组内的排序,并且在处理完先前的消息之前不会传递消息。您只能看到一些消息,而看不到其他消息,因为它们是消息组队列中的第一条消息。

我不久前就遇到过它,并在博客上介绍了它的工作原理。