Amazon SNS メッセージ形式の解析 - Amazon Simple Notification Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SNS メッセージ形式の解析

Amazon では、次の形式SNSを使用します。

HTTP/HTTPS ヘッダー

Amazon SNSがサブスクリプション確認、通知、またはサブスクリプション解除の確認メッセージを HTTP/HTTPS エンドポイントに送信すると、Amazon SNS固有のヘッダー値が多数含まれたPOSTメッセージを送信します。値を読み取るためにメッセージ本文を解析しなくても、JSONメッセージタイプを識別するなどのタスクにヘッダーType値を使用できます。デフォルトでは、Amazon は を Content-Type に設定してすべての通知を HTTP/S エンドポイントSNSに送信しますtext/plain; charset=UTF-8。text/plain (デフォルト) 以外の Content-Type を選択するには、「HTTP/S 配信ポリシーの作成」の「headerContentType」を参照してください。

x-amz-sns-message-type

メッセージのタイプ。指定できる値は、SubscriptionConfirmationNotification および UnsubscribeConfirmation です。

x-amz-sns-message-id

発行される各メッセージに一意のユニバーサル一意識別子 (UUID)。再試行中に Amazon SNSが再送信する通知には、元のメッセージのメッセージ ID が使用されます。

x-amz-sns-topic-arn

このメッセージが公開されたトピックの Amazon リソースネーム (ARN)。

x-amz-sns-subscription-arn

このエンドポイントへのサブスクリプションARNの 。

次のHTTPPOSTヘッダーは、HTTPエンドポイントへのNotificationメッセージのヘッダーの例です。

POST / HTTP/1.1 x-amz-sns-message-type: Notification x-amz-sns-message-id: 165545c9-2a5c-472c-8df2-7ff2be2b3b1b 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:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55 Content-Length: 1336 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent

HTTP/HTTPS サブスクリプション確認JSON形式

HTTP/HTTPS endpoint, Amazon SNS sends a subscription confirmation message to the HTTP/HTTPS エンドポイントをサブスクライブした後。このメッセージには、サブスクリプションを確認するためにアクセスする必要がある SubscribeURL 値が含まれています (または、Token 値を ConfirmSubscription で使用できます)。

注記

Amazon SNSは、サブスクリプションが確認されるまで、このエンドポイントに通知を送信しません

サブスクリプション確認メッセージは、次の名前と値のペアを持つJSONドキュメントを含むメッセージ本文を含むPOSTメッセージです。

Type

メッセージのタイプ。サブスクリプションの確認の場合、タイプは SubscriptionConfirmation です。

MessageId

発行される各メッセージに一意のユニバーサル一意識別子 (UUID)。再試行中に Amazon SNSが再送信するメッセージには、元のメッセージのメッセージ ID が使用されます。

Token

サブスクリプションを確認するために ConfirmSubscription アクションで使用できる値。または、SubscribeURL にアクセスしても構いません。

TopicArn

このエンドポイントがサブスクライブされているトピックの Amazon リソースネーム (ARN)。

Message

メッセージについて説明する文字列。サブスクリプションの確認の場合、この文字列は以下のようになります。

You have chosen to subscribe to the topic arn:aws:sns:us-east-2:123456789012:MyTopic.\nTo confirm the subscription, visit the SubscribeURL included in this message.
SubscribeURL

サブスクリプションを確認するためにアクセスURLする必要がある 。または、代わりに TokenConfirmSubscription アクションで使用してサブスクリプションを確認することもできます。

Timestamp

サブスクリプション確認が送信された時刻 (GMT)。

SignatureVersion

使用される Amazon SNS署名のバージョン。

  • SignatureVersion1 である場合、SignatureMessageMessageIdTypeTimestampTopicArn の各値の Base64 でエンコードされた SHA1withRSA シグネチャです。

  • SignatureVersion2 である場合、SignatureMessageMessageIdTypeTimestampTopicArn の各値の Base64 でエンコードされた SHA256withRSA シグネチャです。

Signature

MessageMessageIdTypeTimestampTopicArn の各値の BaseBase64 でエンコードされた SHA1withRSA または SHA256withRSA シグネチャ。

SigningCertURL

メッセージの署名に使用されたURL証明書への 。

次のHTTPPOSTメッセージは、HTTPエンドポイントへのSubscriptionConfirmationメッセージの例です。

POST / HTTP/1.1 x-amz-sns-message-type: SubscriptionConfirmation x-amz-sns-message-id: 165545c9-2a5c-472c-8df2-7ff2be2b3b1b x-amz-sns-topic-arn: arn:aws:sns:us-west-2:123456789012:MyTopic Content-Length: 1336 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent { "Type" : "SubscriptionConfirmation", "MessageId" : "165545c9-2a5c-472c-8df2-7ff2be2b3b1b", "Token" : "2336412f37...", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Message" : "You have chosen to subscribe to the topic arn:aws:sns:us-west-2:123456789012:MyTopic.\nTo confirm the subscription, visit the SubscribeURL included in this message.", "SubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=2336412f37...", "Timestamp" : "2012-04-26T20:45:04.751Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEpH+DcEwjAPg8O9mY8dReBSwksfg2S7WKQcikcNKWLQjwu6A4VbeS0QHVCkhRS7fUQvi2egU3N858fiTDN6bkkOxYDVrY0Ad8L10Hs3zH81mtnPk5uvvolIC1CXGu43obcgFxeL3khZl8IKvO61GWB6jI9b5+gLPoBc1Q=", "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem" }

HTTP/HTTPS 通知JSON形式

Amazon がサブスクライブHTTPまたはHTTPSエンドポイントに通知SNSを送信すると、エンドポイントに送信されるPOSTメッセージには、次の名前と値のペアを持つJSONドキュメントを含むメッセージ本文があります。

Type

メッセージのタイプ。通知の場合、タイプは Notification です。

MessageId

発行される各メッセージに一意のユニバーサル一意識別子 (UUID)。再試行中に Amazon SNSが再送信する通知には、元のメッセージのメッセージ ID が使用されます。

TopicArn

このメッセージが公開されたトピックの Amazon リソースネーム (ARN)。

Subject

通知をトピックに発行したときに指定した Subject パラメータ。

注記

このパラメータはオプションです。Subject が指定されていない場合、この名前と値のペアはこのJSONドキュメントに表示されません。

Message

通知をトピックに発行したときに指定した Message 値。

Timestamp

通知が発行された時刻 (GMT)。

SignatureVersion

使用される Amazon SNS署名のバージョン。

  • SignatureVersion1 の場合、 Signatureは、Message、、 Subject (存在する場合)MessageId、、TypeTimestamp、および TopicArn値の Base64-encodedされたSHA1withRSA署名です。

  • SignatureVersion2 である場合、SignatureMessageMessageIdSubject (存在する場合)、TypeTimestampTopicArn の各値の Base64 でエンコードされた SHA256withRSA シグネチャです。

Signature

MessageMessageIdSubject (存在する場合)、TypeTimestampTopicArn の各値の Base64 でエンコードされた SHA1withRSA または SHA256withRSA シグネチャ。

SigningCertURL

メッセージの署名に使用されたURL証明書への 。

UnsubscribeURL

このトピックからエンドポイントのサブスクライブを解除するためにURL使用できる 。この にアクセスするとURL、Amazon はエンドポイントのサブスクライブSNSを解除し、このエンドポイントへの通知の送信を停止します。

次のHTTPPOSTメッセージは、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" } }

HTTP/HTTPS サブスクライブ解除の確認JSON形式

HTTP/HTTPS エンドポイントがトピックからサブスクライブ解除されると、Amazon はサブスクライブ解除確認メッセージをエンドポイントSNSに送信します。

サブスクライブ解除確認メッセージは、次の名前と値のペアを持つJSONドキュメントを含むメッセージ本文を含むPOSTメッセージです。

Type

メッセージのタイプ。サブスクリプション解除の確認の場合、タイプは UnsubscribeConfirmation です。

MessageId

発行される各メッセージに一意のユニバーサル一意識別子 (UUID)。再試行中に Amazon SNSが再送信するメッセージには、元のメッセージのメッセージ ID が使用されます。

Token

サブスクリプションを再確認するために ConfirmSubscription アクションで使用できる値。または、SubscribeURL にアクセスしても構いません。

TopicArn

このエンドポイントがサブスクライブ解除されたトピックの Amazon リソースネーム (ARN)。

Message

メッセージについて説明する文字列。サブスクリプション解除の確認の場合、この文字列は次のようになります。

You have chosen to deactivate subscription arn:aws:sns:us-east-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55.\nTo cancel this operation and restore the subscription, visit the SubscribeURL included in this message.
SubscribeURL

サブスクリプションを再確認するためにアクセスURLする必要がある 。または、代わりに TokenConfirmSubscription アクションで使用してサブスクリプションを再確認することもできます。

Timestamp

サブスクライブ解除の確認が送信された時刻 (GMT)。

SignatureVersion

使用される Amazon SNS署名のバージョン。

  • SignatureVersion1 である場合、SignatureMessageMessageIdTypeTimestampTopicArn の各値の Base64 でエンコードされた SHA1withRSA シグネチャです。

  • SignatureVersion2 である場合、SignatureMessageMessageIdTypeTimestampTopicArn の各値の Base64 でエンコードされた SHA256withRSA シグネチャです。

Signature

MessageMessageIdTypeTimestampTopicArn の各値の BaseBase64 でエンコードされた SHA1withRSA または SHA256withRSA シグネチャ。

SigningCertURL

メッセージの署名に使用されたURL証明書への 。

次のHTTPPOSTメッセージは、HTTPエンドポイントへのUnsubscribeConfirmationメッセージの例です。

POST / HTTP/1.1 x-amz-sns-message-type: UnsubscribeConfirmation x-amz-sns-message-id: 47138184-6831-46b8-8f7c-afc488602d7d 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:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55 Content-Length: 1399 Content-Type: text/plain; charset=UTF-8 Host: myhost.example.com Connection: Keep-Alive User-Agent: Amazon Simple Notification Service Agent { "Type" : "UnsubscribeConfirmation", "MessageId" : "47138184-6831-46b8-8f7c-afc488602d7d", "Token" : "2336412f37...", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Message" : "You have chosen to deactivate subscription arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55.\nTo cancel this operation and restore the subscription, visit the SubscribeURL included in this message.", "SubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=2336412f37fb6...", "Timestamp" : "2012-04-26T20:06:41.581Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEHXgJm...", "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem" }

SetSubscriptionAttributes 配信ポリシーJSONの形式

SetSubscriptionAttributes アクションにリクエストを送信し、 AttributeNameパラメータを の値に設定する場合DeliveryPolicyAttributeValueパラメータの値は有効なJSONオブジェクトである必要があります。例えば、次の例では、配信ポリシーを合計 5 回の再試行に設定します。

http://sns.us-east-2.amazonaws.com/ ?Action=SetSubscriptionAttributes &SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca &AttributeName=DeliveryPolicy &AttributeValue={"healthyRetryPolicy":{"numRetries":5}} ...

AttributeValue パラメータの値には、次のJSON形式を使用します。

{ "healthyRetryPolicy" : { "minDelayTarget" : int, "maxDelayTarget" : int, "numRetries" : int, "numMaxDelayRetries" : int, "backoffFunction" : "linear|arithmetic|geometric|exponential" }, "throttlePolicy" : { "maxReceivesPerSecond" : int }, "requestPolicy" : { "headerContentType" : "text/plain | application/json | application/xml" } }

SetSubscriptionAttribute アクションの詳細については、「Amazon Simple Notification Service APIリファレンスSetSubscriptionAttributes」の「」を参照してください。サポートされているHTTPコンテンツタイプのヘッダーの詳細については、「」を参照してくださいHTTP/S 配信ポリシーの作成

SetTopicAttributes 配信ポリシーJSONの形式

SetTopicAttributes アクションにリクエストを送信し、 AttributeNameパラメータを の値に設定する場合DeliveryPolicyAttributeValueパラメータの値は有効なJSONオブジェクトである必要があります。例えば、次の例では、配信ポリシーを合計 5 回の再試行に設定します。

http://sns.us-east-2.amazonaws.com/ ?Action=SetTopicAttributes &TopicArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMy-Topic &AttributeName=DeliveryPolicy &AttributeValue={"http":{"defaultHealthyRetryPolicy":{"numRetries":5}}} ...

AttributeValue パラメータの値には、次のJSON形式を使用します。

{ "http" : { "defaultHealthyRetryPolicy" : { "minDelayTarget": int, "maxDelayTarget": int, "numRetries": int, "numMaxDelayRetries": int, "backoffFunction": "linear|arithmetic|geometric|exponential" }, "disableSubscriptionOverrides" : Boolean, "defaultThrottlePolicy" : { "maxReceivesPerSecond" : int }, "defaultRequestPolicy" : { "headerContentType" : "text/plain | application/json | application/xml" } } }

SetTopicAttribute アクションの詳細については、「Amazon Simple Notification Service APIリファレンスSetTopicAttributes」の「」を参照してください。サポートされているHTTPコンテンツタイプのヘッダーの詳細については、「」を参照してくださいHTTP/S 配信ポリシーの作成