7.7. SNS FIFO
支持 SNS FIFO。在创建 SQS 队列时,您将订阅 SNS 主题很重要点,您需要使 SNS Topic 发送消息发送到 SQS Queue。
Example
假设您创建了名为 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"
}
}
}
]
}
这是使订阅正常工作的关键步骤。
向 FIFO 主题发送某个时,您需要始终设置消息组 Id 策略。
如果在 SNS Fifo 主题上启用了基于内容的消息 deduplication,则无需设置消息 deduplication id 策略,否则您必须设置它。