6.7. SNS FIFO
支持 SNS FIFO。在创建 SQS 队列时,您将订阅 SNS 主题,需要记住,您需要让 SNS Topic 发送消息到 SQS Queue。
示例
假设您创建一个名为 Order.fifo
的 SNS FIFO 主题,以及一个名为 QueueSub.fifo
的 SQS Queue。
在 QueueSub.fifo
的访问策略中,您应该提交如下内容:
{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__owner_statement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::780560123482:root" }, "Action": "SQS:*", "Resource": "arn:aws:sqs:eu-west-1:780560123482:QueueSub.fifo" }, { "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:eu-west-1:780560123482:QueueSub.fifo", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sns:eu-west-1:780410022472:Order.fifo" } } } ] }
这是使订阅正常工作的关键步骤。
6.7.1. SNS Fifo Topic 消息组 Id Strategy 和消息 Deduplication Id Strategy
向 FIFO 主题发送一些时,您需要始终设置消息组 Id 策略。
如果 SNS Fifo 主题上启用了基于内容的消息 deduplication,则不需要设置消息 deduplication id 策略,否则您必须对其进行设置。