Analysieren von 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 Nachrichtenformaten

Amazon SNS verwendet die folgenden Formate:

HTTP/HTTPS-Header

Sobald Amazon SNS eine Abonnementbestätigungs-, Benachrichtigungs- oder Abmeldebestätigungsnachricht an HTTP/HTTPS-Endpunkte sendet, sendet es eine POST-Nachricht mit einer Reihe an Amazon–SNS-spezifischen Header-Werten. Sie können Header-Werte für Aufgaben wie das Identifizieren des Nachrichtentyps verwenden, ohne den JSON-Nachrichtentext zu analysieren, um den TypeWert zu lesen. Standardmäßig sendet Amazon SNS alle Benachrichtigungen an HTTP/S-Endpunkte, wobei Content-Type auf text/plain; charset=UTF-8 festgelegt ist. Informationen zur Auswahl eines Content-Type, der nicht text/plain (Standard) ist, finden Sie unter headerContentType in Erstellen einer HTTP/S-Zustellungsrichtlinie.

x-amz-sns-message-type

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

x-amz-sns-message-id

Ein universell eindeutiger Bezeichner (UUID), der für jede veröffentlichte Benachrichtigung eindeutig ist. Für eine Benachrichtigung, die Amazon SNS während eines Wiederholversuchs sendet, wird die Nachrichten-ID der ursprünglichen Nachricht verwendet.

x-amz-sns-topic-arn

Amazon Resource Name (ARN) des Themas, in dem die Nachricht veröffentlicht wurde.

x-amz-sns-subscription-arn

Die 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-Benachrichtigung, die an einen HTTP-Endpunkt gesendet wurde.

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

JSON-Format für die HTTP/HTTPS-Abonnement-Bestätigung

Nachdem Sie einen HTTP/HTTPS-Endpunkt abonniert haben, sendet Amazon SNS eine Abonnement-Bestätigung an den HTTP/HTTPS-Endpunkt. 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 SNS sendet keine Benachrichtigungen an diesen Endpunkt, solange das Abonnement nicht bestätigt wurde

Bei der Abonnement-Bestätigung handelt es sich um eine POST-Nachricht mit einem Nachrichtentext, der ein JSON-Dokument mit den folgenden Name-Wert-Paaren enthält.

Type

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

MessageId

Ein universell eindeutiger Bezeichner (UUID), der für jede veröffentlichte Benachrichtigung eindeutig ist. Für eine Nachricht, die Amazon SNS während eines Wiederholversuchs 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

Amazon Resource Name (ARN) des Themas, für das dieser Endpunkt abonniert wurde.

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

Die URL, die Sie besuchen müssen, 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

Die Uhrzeit (GMT), zu der die Abonnement-Bestätigung gesendet wurde.

SignatureVersion

Version der verwendeten Amazon-SNS-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

Die URL, die den Zugriff auf das Zertifikat ermöglicht, das zum Signieren der Nachricht verwendet wurde.

Die folgende „HTTP POST“-Nachricht ist ein Beispiel für eine SubscriptionConfirmation-Benachrichtigung, die an einen HTTP-Endpunkt gesendet wurde.

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

JSON-Format für eine HTTP/HTTPS-Benachrichtigung

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

Type

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

MessageId

Ein universell eindeutiger Bezeichner (UUID), der für jede veröffentlichte Benachrichtigung eindeutig ist. Für eine Benachrichtigung, die Amazon SNS während eines Wiederholversuchs sendet, wird die Nachrichten-ID der ursprünglichen Nachricht verwendet.

TopicArn

Amazon Resource Name (ARN) des Themas, in dem die 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 Subject angegeben wurde, wird dieses Name-Wert-Paar nicht in diesem JSON-Dokument angezeigt.

Message

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

Timestamp

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

SignatureVersion

Version der verwendeten Amazon-SNS-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

Die URL, die den Zugriff auf das Zertifikat ermöglicht, das zum Signieren der Nachricht verwendet wurde.

UnsubscribeURL

Eine URL, die Sie verwenden können, um den Endpunkt aus diesem Thema abzumelden. Wenn Sie diese URL besuchen, meldet Amazon SNS den Endpunkt ab und es werden keine weiteren Benachrichtigungen an diesen Endpunkt gesendet.

Die folgende „HTTP POST“-Nachricht ist ein Beispiel für eine Notification-Benachrichtigung, die an einen HTTP-Endpunkt gesendet wurde.

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

JSON-Format für die HTTP/HTTPS-Abonnement-Abmeldung

Nachdem ein HTTP/HTTPS-Endpunkt aus einem Thema abgemeldet wurde, sendet Amazon SNS eine Abmelde-Bestätigung an den Endpunkt.

Bei der Abmelde-Bestätigung handelt es sich um eine POST-Nachricht mit einem Nachrichtentext, der ein JSON-Dokument mit den folgenden Name-Wert-Paaren enthält.

Type

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

MessageId

Ein universell eindeutiger Bezeichner (UUID), der für jede veröffentlichte Benachrichtigung eindeutig ist. Für eine Nachricht, die Amazon SNS während eines Wiederholversuchs 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

Amazon Resource Name (ARN) des Themas, 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

Die URL, die Sie besuchen müssen, 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

Uhrzeit (GMT), zu der die Abmelde-Bestätigung gesendet wurde.

SignatureVersion

Version der verwendeten Amazon-SNS-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

Die URL, die den Zugriff auf das Zertifikat ermöglicht, das zum Signieren der Nachricht verwendet wurde.

Die folgende „HTTP POST“-Nachricht ist ein Beispiel für eine UnsubscribeConfirmation-Benachrichtigung, die an einen HTTP-Endpunkt gesendet wurde.

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

JSON-Format für die Zustellungsrichtlinie SetSubscriptionAttributes

Wenn Sie eine Anforderung an die Aktion SetSubscriptionAttributes senden und den Parameter AttributeName auf den Wert DeliveryPolicy festlegen, muss der Wert des Parameters AttributeValue 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 Parameters AttributeValue.

{ "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 zur Aktion SetSubscriptionAttribute finden Sie unter SetSubscriptionAttributes in der Amazon-Simple-Notification-Service-API-Referenz. Weitere Hinweise zu den unterstützten HTTP-Inhaltstyp-Headern finden Sie unter Erstellen einer HTTP/S-Zustellungsrichtlinie.

JSON-Format für die Zustellungsrichtlinie SetTopicAttributes

Wenn Sie eine Anforderung an die Aktion SetTopicAttributes senden und den Parameter AttributeName auf den Wert DeliveryPolicy festlegen, muss der Wert des Parameters AttributeValue 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 Parameters AttributeValue.

{ "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 zurSetTopicAttribute-Aktion finden Sie unter SetTopicAttributes im Amazon Simple Notification Service-API-Referenz. Weitere Hinweise zu den unterstützten HTTP-Inhaltstyp-Headern finden Sie unter Erstellen einer HTTP/S-Zustellungsrichtlinie.