SQS FIFO使用MessageGroupId接收消息

时间:2017-10-03 17:53:08

标签: java amazon-sqs

如何使用messagegroupid参数仅接收标记有我需要的ID的队列消息?

我一直在尝试使用下面的行来检索,但它总是会收到来自其他组ID的所有队列消息。

List<Message> messages = sqs.receiveMessage(receiveMessageRequest.withAttributeNames("MessageGroupId")).getMessages();

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

ReceiveMessageRequest不会根据邮件属性进行过滤。如果您查看ReceiveMessageRequest.html.withAttributeNames()的文档,则说:

  

需要与每条消息一起返回的属性列表。

通常,您无法过滤从SQS返回的消息。你可以限制数量,但你不能说,例如,“给我所有符合这种模式的消息”。