如何使用messagegroupid参数仅接收标记有我需要的ID的队列消息?
我一直在尝试使用下面的行来检索,但它总是会收到来自其他组ID的所有队列消息。
List<Message> messages = sqs.receiveMessage(receiveMessageRequest.withAttributeNames("MessageGroupId")).getMessages();
这样做的正确方法是什么?
答案 0 :(得分:1)
ReceiveMessageRequest不会根据邮件属性进行过滤。如果您查看ReceiveMessageRequest.html.withAttributeNames()的文档,则说:
需要与每条消息一起返回的属性列表。
通常,您无法过滤从SQS返回的消息。你可以限制数量,但你不能说,例如,“给我所有符合这种模式的消息”。