轮询 AWS SQS 队列以获取具有特定属性的消息

use*_*122 3 message-queue amazon-sqs amazon-web-services

我已经使用 AWS SQS 设置了一个标准队列,我想轮询它queue以查找包含特定 的消息attribute,最好使用boto3python 中的库。我知道有一个从队列中轮询消息的boto3方法。recieve_message()但是,我只想获取那些包含特定属性的消息。一种幼稚的方法是迭代输出receive_message()并检查 a messagein是否receive_message()包含attribute,但我想知道是否还有其他解决方案来解决这个问题。

len*_*310 7

您无法仅使用 SQS 过滤某些消息,但是可以使用 SNS 来做到这一点。

您可以将消息发布到 SNS 主题。SNS 的消息过滤功能使订阅 SNS 主题的端点能够仅接收其感兴趣的主题消息子集。因此,您可以确保只有具有特定属性的相关消息才会排队到消费者的队列中。

请参阅过滤发布到主题的消息SNS订阅过滤策略