如何在控制台创建Amazon SQS队列时添加过滤策略?
在Amazon SQS端关联SNS主题并配置消息过滤(控制台操作)
Amazon SQS队列本身没有独立的消息过滤配置项,消息过滤逻辑是通过SNS主题的订阅过滤策略实现的。不过你可以在创建SQS队列后,立即完成SNS主题订阅并配置过滤策略,以此达到“创建SQS时同步完成过滤配置”的效果,具体操作步骤如下:
创建Amazon SQS队列
打开AWS控制台进入SQS服务页面,点击「创建队列」,填写队列名称、选择队列类型(标准/FIFO),按需配置可见性超时、消息保留期等属性后,点击「创建队列」完成创建。给SQS队列配置SNS消息推送权限
在刚创建的队列详情页切换到「权限」标签,点击「编辑策略」,添加允许指定SNS主题发送消息到该队列的权限,示例策略如下(替换占位符为你的实际ARN):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": "你的SQS队列ARN", "Condition": { "ArnEquals": { "aws:SourceArn": "你的SNS主题ARN" } } } ] }完成后保存策略。
订阅SNS主题到SQS并配置过滤策略
打开AWS控制台进入SNS服务页面,找到目标主题并进入详情页,切换到「订阅」标签点击「创建订阅」:- 协议选择「SQS」,端点粘贴刚创建的SQS队列ARN;
- 展开「订阅过滤策略」区域,点击「添加筛选条件」;
- 根据需求配置过滤规则(比如键设为
eventType,值填["orderCreated", "orderUpdated"],就只会接收这两类事件的消息); - 点击「创建订阅」完成配置。
这样配置后,只有符合过滤条件的SNS消息才会被推送到你的SQS队列中。
内容的提问来源于stack exchange,提问作者Ananya Shukla
相关产品推荐
相关产品推荐

