【发布时间】:2021-03-07 19:31:27
【问题描述】:
我已经使用 AWS SQS 设置了一个标准队列,我想轮询此 queue 以获取包含
具体attribute,最好使用python中的boto3库。我知道boto3 有一个
方法recieve_message() 从队列中轮询消息。但是,我只想获取那些包含特定属性的消息。一种天真的方法是遍历receive_message() 输出并检查receive_message() 中的message 是否包含attribute,但我想知道是否有其他解决方案来解决这个问题。
【问题讨论】:
-
谁在将 msg 发布到 sqs?你的申请也是这样吗?
-
是的,我有一条 EC2 将消息推送到 SQS 队列,我想从 lambda 轮询这些消息,但我只想要那些包含特定消息属性的消息。 boto3库有这个功能:here,MessageAttributeNames有这个功能吗?
-
您可以发送 SNS,然后 SQS 订阅 SNS 吗?
-
基本上我将已完成的作业排入队列(或通知服务),并从 lambda 我想通过轮询作业 ID 来检查作业是否已完成。 ID 是“唯一的”,所以我不想为作业 ID 创建单独的队列。我正在考虑发布一条带有作业 ID 作为 SNS 属性的消息,并让 lambda 订阅该主题。但我不知道 SNS 中的 API 调用会执行
topic.filterMessagesByAttribute(attribute)
标签: amazon-web-services message-queue amazon-sqs