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



我已经用AWS SQS建立了一个标准队列,我想轮询此queue以查找包含具体的attribute,最好使用python中的boto3库。我知道boto3有方法CCD_ 5,其轮询来自队列的消息。但是,我只想得到那些包含特定属性的消息。一种简单的方法是迭代receive_message()输出,并检查receive_message()中的message是否包含attribute,但我想知道是否有其他解决方案可以解决这个问题。

您不能仅使用SQS来过滤某些消息,但是,您可以使用SNS来过滤。

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

请参阅筛选发布到主题的消息和SNS订阅筛选策略。

在SQSReceiveMessageAPI中不支持选择性轮询。另一种选择是让您的EC2将包含不同属性的消息发送到不同的SQS队列中。

最新更新