View a markdown version of this page

将 Amazon SNS 通知扇出到 Amazon SQS 队列进行异步处理 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

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

将 Amazon SNS 通知扇出到 Amazon SQS 队列进行异步处理

Amazon 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" }