View a markdown version of this page

HTTP/HTTPS 通知 JSON 格式 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

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

HTTP/HTTPS 通知 JSON 格式

当 Amazon SNS 向已订阅的 HTTP 或 HTTPS 终端节点发送一条通知时,发送到终端节点的 POST 消息具有包含一个带下列名称/值对的 JSON 格式文档的消息正文。

Type

消息类型。用于通知,这种类型属于Notification。

MessageId

通用唯一标识符(UUID),它对于每条发布的消息是唯一的。对于 Amazon SNS 在重试期间重新发送的通知,使用原始消息的消息 ID。

TopicArn

此消息所发布到的主题的 Amazon 资源名称(ARN)。

Subject

在将通知发布至主题时指定的 Subject 参数。

注意

此参数为可选参数。如果未指定 Subject,则此 JSON 格式文档中不会显示该名称/值对。

Message

当通知发布至主题时指定的 Message 值。

Timestamp

通知发布的时间 (GMT)。

SignatureVersion

所用 Amazon SNS 签名的版本。

  • 如果SignatureVersion为 1,则Signature是、Message、Subject(如果存在)MessageId、TypeTimestamp、和TopicArn值的 Base64-encodedSHA1withRSA签名。

  • 如果SignatureVersion为 2,则Signature是、Message、Subject(如果存在)MessageId、TypeTimestamp、和TopicArn值的 Base64-encodedSHA256withRSA签名。

Signature

Base64-encoded SHA1withRSA或Message、、MessageIdSubject(如果存在)、TypeTimestamp、和TopicArn值的SHA256withRSA签名。

SigningCertURL

用于签署消息的证书的 URL。

UnsubscribeURL

可以用作从主题取消订阅终端节点的 URL。如果您访问此 URL,那么 Amazon SNS 将取消订阅终端节点并不发送通知至此终端节点。

MessageAttributes

Amazon SNS 将您附加到已发布消息的消息属性作为 JSON 对象表示。此对象将每个属性名称映射到带有 a Type 和 a 的对象Value。有关属性类型的更多信息,请参阅Amazon SNS 消息属性。

注意

MessageAttributes 为可选项。如果发布的消息没有消息属性,则此名称/值对不会出现在此 JSON 文档中。

以下 HTTP POST 消息是发送至 HTTP 端点的一条 Notification 消息的示例。

POST / HTTP/1.1 x-amz-sns-message-type: Notification x-amz-sns-message-id: 22b80b92-fdea-4c2c-8f9d-bdfb0c7bf324 x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic x-amz-sns-subscription-arn: arn:aws:sns:us-west-2:123456789012:MyTopic:c9135db0-26c4-47ec-8998-413945fb5a96 Content-Length: 773 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent { "Type" : "Notification", "MessageId" : "22b80b92-fdea-4c2c-8f9d-bdfb0c7bf324", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Subject" : "My First Message", "Message" : "Hello world!", "Timestamp" : "2012-05-02T00:54:06.655Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEw6JRN...", "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:c9135db0-26c4-47ec-8998-413945fb5a96" }