Analysieren von SNS Amazon-Nachrichtenformaten - Amazon Simple Notification Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Analysieren von SNS Amazon-Nachrichtenformaten

Amazon SNS verwendet die folgenden Formate.

HTTP/HTTPSÜberschriften

Wenn Amazon eine Abonnementbestätigungs-, Benachrichtigungs- oder Abmeldebestätigungsnachricht an HTTP HTTPS /endpoints SNS sendet, sendet es eine POST Nachricht mit einer Reihe von SNS Amazon-spezifischen Header-Werten. Sie können Header-Werte für Aufgaben wie die Identifizierung des Nachrichtentyps verwenden, ohne den Nachrichtentext analysieren zu müssen, um den JSON Wert zu lesen. Type Standardmäßig SNS sendet Amazon alle Benachrichtigungen an HTTP /S-Endpunkte mit der Content-Type Einstellung auftext/plain; charset=UTF-8. Informationen zur Auswahl eines Content-Type, der nicht text/plain (Standard) ist, finden Sie unter headerContentType in Eine /S-Lieferrichtlinie HTTP erstellen.

x-amz-sns-message-type

Der Nachrichtentyp. Die möglichen Werte sind SubscriptionConfirmation, Notification und UnsubscribeConfirmation.

x-amz-sns-message-id

Eine universell eindeutige Kennung (UUID), die für jede veröffentlichte Nachricht eindeutig ist. Für eine Benachrichtigung, die Amazon bei einem erneuten Versuch erneut SNS sendet, wird die Nachrichten-ID der ursprünglichen Nachricht verwendet.

x-amz-sns-topic-arn

Der Amazon-Ressourcenname (ARN) für das Thema, zu dem diese Nachricht veröffentlicht wurde.

x-amz-sns-subscription-arn

Der ARN für das Abonnement für diesen Endpunkt.

Der folgende HTTP POST Header ist ein Beispiel für einen Header für eine Notification Nachricht an einen HTTP Endpunkt.

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/JSONFormat zur Bestätigung des HTTPS Abonnements

Nachdem Sie einen HTTP/HTTPS endpoint, Amazon SNS sends a subscription confirmation message to the HTTP/HTTPS Endpunkt abonniert haben. Diese Nachricht enthält einen SubscribeURL-Wert, den Sie besuchen müssen, um das Abonnement zu bestätigen (alternativ können Sie den Token-Wert mit der Aktion ConfirmSubscription verwenden).

Anmerkung

Amazon sendet SNS keine Benachrichtigungen an diesen Endpunkt, bis das Abonnement bestätigt wurde

Die Bestätigungsnachricht für das Abonnement ist eine POST Nachricht mit einem Nachrichtentext, der ein JSON Dokument mit den folgenden Name-Wert-Paaren enthält.

Type

Der Nachrichtentyp. Für eine Abonnement-Bestätigung ist der Typ SubscriptionConfirmation.

MessageId

Ein universell eindeutiger Bezeichner (UUID), der für jede veröffentlichte Nachricht eindeutig ist. Für eine Nachricht, die Amazon bei einem erneuten Versuch erneut SNS sendet, wird die Nachrichten-ID der ursprünglichen Nachricht verwendet.

Token

Ein Wert, den Sie mit der Aktion ConfirmSubscription verwenden können, um das Abonnement zu bestätigen. Sie können aber auch einfach nur den Parameter besuchen SubscribeURL.

TopicArn

Der Amazon-Ressourcenname (ARN) für das Thema, das dieser Endpunkt abonniert hat.

Message

Eine Zeichenfolge, die die Nachricht beschreibt. Bei einer Abonnement-Bestätigung sieht diese Zeichenfolge wie folgt aus:

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

URLDas müssen Sie besuchen, um das Abonnement zu bestätigen. Alternativ können Sie auch den Parameter Token mit der Aktion ConfirmSubscriptionverwenden, um das Abonnement zu bestätigen.

Timestamp

Der Zeitpunkt (GMT), zu dem die Abonnementbestätigung gesendet wurde.

SignatureVersion

Version der verwendeten SNS Amazon-Signatur.

  • Wenn SignatureVersion 1 lautet, ist Signature eine Base64-kodierte SHA1withRSA-Signatur der Werte Message, MessageId, Type, Timestamp und TopicArn.

  • Wenn SignatureVersion 2 lautet, ist Signature eine Base64-kodierte SHA256withRSA-Signatur der Werte Message, MessageId, Type, Timestamp und TopicArn.

Signature

Eine Base64-kodierte SHA1withRSA- oder SHA256withRSA-Signatur der Werte Message, MessageId, Type, Timestamp und TopicArn.

SigningCertURL

Das URL zu dem Zertifikat, das zum Signieren der Nachricht verwendet wurde.

Die folgende HTTP POST Nachricht ist ein Beispiel für eine SubscriptionConfirmation Nachricht an einen HTTP Endpunkt.

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/HTTPSJSONBenachrichtigungsformat

Wenn Amazon eine Benachrichtigung SNS an ein Abonnent HTTP oder einen Endpunkt sendet, hat die POST an den HTTPS Endpunkt gesendete Nachricht einen Nachrichtentext, der ein JSON Dokument mit den folgenden Name-Wert-Paaren enthält.

Type

Der Nachrichtentyp. Für eine Bestätigung ist der Typ Notification.

MessageId

Eine universell eindeutige Kennung (UUID), die für jede veröffentlichte Nachricht eindeutig ist. Für eine Benachrichtigung, die Amazon bei einem erneuten Versuch erneut SNS sendet, wird die Nachrichten-ID der ursprünglichen Nachricht verwendet.

TopicArn

Der Amazon-Ressourcenname (ARN) für das Thema, zu dem diese Nachricht veröffentlicht wurde.

Subject

Der Parameter Subject, der bei der Veröffentlichung der Benachrichtigung im Thema angegeben wurde.

Anmerkung

Dieser Parameter ist optional. Wenn kein Wert angegeben Subject wurde, erscheint dieses Name-Wert-Paar nicht in diesem JSON Dokument.

Message

Der Nachrichtenwert Message, der bei der Veröffentlichung der Benachrichtigung im Thema angegeben wurde.

Timestamp

Die Uhrzeit (GMT), zu der die Benachrichtigung veröffentlicht wurde.

SignatureVersion

Version der verwendeten SNS Amazon-Signatur.

  • Wenn SignatureVersion 1 lautet, ist Signature eine Base64-kodierte SHA1withRSA-Signatur der Werte Message, MessageId, Subject (sofern vorhanden), Type, Timestamp und TopicArn.

  • Wenn SignatureVersion 2 lautet, ist Signature eine Base64-kodierte SHA256withRSA-Signatur der Werte Message, MessageId, Subject (sofern vorhanden), Type, Timestamp und TopicArn.

Signature

Eine Base64-kodierte SHA1withRSA- oder SHA256withRSA-Signatur der Werte Message, MessageId, Subject (sofern vorhanden), Type, Timestamp und TopicArn.

SigningCertURL

Das URL zu dem Zertifikat, das zum Signieren der Nachricht verwendet wurde.

UnsubscribeURL

EineURL, mit der Sie den Endpunkt von diesem Thema abmelden können. Wenn Sie diesen Link aufrufenURL, SNS kündigt Amazon den Endpunkt ab und sendet keine Benachrichtigungen mehr an diesen Endpunkt.

Die folgende HTTP POST Nachricht ist ein Beispiel für eine Notification Nachricht an einen HTTP Endpunkt.

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/JSONFormat zur Bestätigung der HTTPS Abmeldung

Nachdem einHTTP/HTTPS-Endpunkt von einem Thema abgemeldet wurde, SNS sendet Amazon eine Bestätigungsnachricht an den Endpunkt.

Die Bestätigungsnachricht zum Abbestellen ist eine POST Nachricht mit einem Nachrichtentext, der ein JSON Dokument mit den folgenden Name-Wert-Paaren enthält.

Type

Der Nachrichtentyp. Für eine Abmelde-Bestätigung ist der Typ UnsubscribeConfirmation.

MessageId

Ein universell eindeutiger Bezeichner (UUID), der für jede veröffentlichte Nachricht eindeutig ist. Für eine Nachricht, die Amazon bei einem erneuten Versuch erneut SNS sendet, wird die Nachrichten-ID der ursprünglichen Nachricht verwendet.

Token

Ein Wert, den Sie mit der Aktion ConfirmSubscription verwenden können, um das Abonnement erneut zu bestätigen. Sie können aber auch einfach nur den Parameter besuchen SubscribeURL.

TopicArn

Der Amazon-Ressourcenname (ARN) für das Thema, von dem dieser Endpunkt abgemeldet wurde.

Message

Eine Zeichenfolge, die die Nachricht beschreibt. Bei einer Abmelde-Bestätigung sieht diese Zeichenfolge wie folgt aus:

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

URLDas müssen Sie besuchen, um das Abonnement erneut zu bestätigen. Alternativ können Sie auch den Parameter Token mit der Aktion ConfirmSubscriptionverwenden, um das Abonnement erneut zu bestätigen.

Timestamp

Der Zeitpunkt (GMT), zu dem die Abmeldebestätigung gesendet wurde.

SignatureVersion

Version der verwendeten SNS Amazon-Signatur.

  • Wenn SignatureVersion 1 lautet, ist Signature eine Base64-kodierte SHA1withRSA-Signatur der Werte Message, MessageId, Type, Timestamp und TopicArn.

  • Wenn SignatureVersion 2 lautet, ist Signature eine Base64-kodierte SHA256withRSA-Signatur der Werte Message, MessageId, Type, Timestamp und TopicArn.

Signature

Eine Base64-kodierte SHA1withRSA- oder SHA256withRSA-Signatur der Werte Message, MessageId, Type, Timestamp und TopicArn.

SigningCertURL

Das URL zu dem Zertifikat, das zum Signieren der Nachricht verwendet wurde.

Die folgende HTTP POST Nachricht ist ein Beispiel für eine UnsubscribeConfirmation Nachricht an einen HTTP Endpunkt.

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

SetSubscriptionAttributesJSONFormat der Zustellungsrichtlinie

Wenn Sie eine Anforderung an die SetSubscriptionAttributes Aktion senden und den AttributeName Parameter auf den Wert von setzenDeliveryPolicy, muss der Wert des AttributeValue Parameters ein gültiges JSON Objekt sein. Im folgenden Beispiel wird die Zustellungsrichtlinie auf insgesamt 5 Wiederholversuche festgelegt.

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}} ...

Verwenden Sie das folgende JSON Format für den Wert des AttributeValue Parameters.

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

Weitere Informationen zu dieser SetSubscriptionAttribute Aktion finden Sie SetSubscriptionAttributesin der Amazon Simple Notification Service API Reference. Weitere Informationen zu den unterstützten HTTP Inhaltstyp-Headern finden Sie unter. Eine /S-Lieferrichtlinie HTTP erstellen

SetTopicAttributes Format der Lieferrichtlinie JSON

Wenn Sie eine Anforderung an die SetTopicAttributes Aktion senden und den AttributeName Parameter auf den Wert von setzenDeliveryPolicy, muss der Wert des AttributeValue Parameters ein gültiges JSON Objekt sein. Im folgenden Beispiel wird die Zustellungsrichtlinie auf insgesamt 5 Wiederholversuche festgelegt.

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}}} ...

Verwenden Sie das folgende JSON Format für den Wert des AttributeValue Parameters.

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

Weitere Informationen zu dieser SetTopicAttribute Aktion finden Sie SetTopicAttributesin der Amazon Simple Notification Service API Reference. Weitere Informationen zu den unterstützten HTTP Inhaltstyp-Headern finden Sie unter. Eine /S-Lieferrichtlinie HTTP erstellen