AWS SQS接收消息 - 如何知道队列何时为空

时间:2018-05-07 14:04:02

标签: amazon-web-services amazon-sqs

我想获取队列中的所有消息来处理它们。但MaxNumberOfMessages的属性是10(基于文档)

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html

如何读取所有消息以便我可以处理它们?或者我怎么知道队列何时为空?

感谢

1 个答案:

答案 0 :(得分:4)

当您接收>来自队列的消息时,它们会在飞行中标记为""成功处理它们之后,您将对队列的呼叫发送到删除它们。此调用将包含每条消息的ID。

当队列为空时,下一次读取将有一个空的Messages数组。

通常当我这样做时,我将我的调用包装在一个循环中读取队列(while循环),并且只有在读完后我才有Messages处理。

如果它是FIFO队列或标准队列,它不应该有任何区别。