

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Amazon SNS 通知扇出到 Amazon SQS 队列进行异步处理
<a name="sns-sqs-as-subscriber"></a>

[Amazon SNS](https://www.amazonaws.cn/sns/) 与 Amazon Simple Queue Service (Amazon SQS) 密切配合。这些服务为开发人员提供了不同的益处。Amazon SNS 允许应用程序通过“推送”机制将时间要求严格的消息发送到多个订阅者，无需定期检查或“轮询”更新。Amazon SQS 是分布式应用程序通过轮询模型交换消息的消息队列服务，它可用于解耦发送和接收组件，而无需每个组件同时可用。通过将 Amazon SNS 和 Amazon SQS 配合使用，可以将消息发送到要求立即通知事件的应用程序，也可以在 Amazon SQS 队列中存留消息以供其他应用程序稍后进行处理。

为 Amazon SQS 队列订阅 Amazon SNS 主题时，您可以向该主题发布消息，Amazon SNS 会向已订阅队列发送 Amazon SQS 消息。Amazon SQS 消息包括已向主题发布的相关主题和消息，包括有关 JSON 文档中消息的元数据。Amazon SQS 消息与以下 JSON 文档相似。

```
{
   "Type" : "Notification",
   "MessageId" : "63a3f6b6-d533-4a47-aef9-fcf5cf758c76",
   "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic",
   "Subject" : "Testing publish to subscribed queues",
   "Message" : "Hello world!",
   "Timestamp" : "2012-03-29T05:12:16.901Z",
   "SignatureVersion" : "1",
   "Signature" : "EXAMPLEnTrFPa3...",
   "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
   "UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:c7fe3a54-ab0e-4ec2-88e0-db410a0f2bee"
}
```