本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
、MessageId
、Subject
(如果存在)、Type
、Timestamp
和TopicArn
值的 Base64 编码SHA1withRSA
签名。 -
如果
SignatureVersion
为 2,则Signature
是Message
、MessageId
、Subject
(如果存在)、Type
、Timestamp
和TopicArn
值的 Base64 编码SHA256withRSA
签名。
-
Signature
-
Message
、MessageId
、Subject
(如果存在)、Type
、Timestamp
和TopicArn
值的 Base64 编码SHA1withRSA
或SHA256withRSA
签名。 SigningCertURL
-
用于签署消息的证书的 URL。
UnsubscribeURL
-
可以用作从主题取消订阅终端节点的 URL。如果您访问此 URL,那么 Amazon SNS 将取消订阅终端节点并不发送通知至此终端节点。
以下 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" }