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:
Themen
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 Type
Wert 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
undUnsubscribeConfirmation
. 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 besuchenSubscribeURL
. 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 AktionConfirmSubscription
verwenden, 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, istSignature
eine Base64-kodierteSHA1withRSA
-Signatur der WerteMessage
,MessageId
,Type
,Timestamp
undTopicArn
. -
Wenn
SignatureVersion
2 lautet, istSignature
eine Base64-kodierteSHA256withRSA
-Signatur der WerteMessage
,MessageId
,Type
,Timestamp
undTopicArn
.
-
Signature
-
Eine Base64-kodierte
SHA1withRSA
- oderSHA256withRSA
-Signatur der WerteMessage
,MessageId
,Type
,Timestamp
undTopicArn
. 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, istSignature
eine Base64-kodierteSHA1withRSA
-Signatur der WerteMessage
,MessageId
,Subject
(sofern vorhanden),Type
,Timestamp
undTopicArn
. -
Wenn
SignatureVersion
2 lautet, istSignature
eine Base64-kodierteSHA256withRSA
-Signatur der WerteMessage
,MessageId
,Subject
(sofern vorhanden),Type
,Timestamp
undTopicArn
.
-
Signature
-
Eine Base64-kodierte
SHA1withRSA
- oderSHA256withRSA
-Signatur der WerteMessage
,MessageId
,Subject
(sofern vorhanden),Type
,Timestamp
undTopicArn
. 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 besuchenSubscribeURL
. 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 AktionConfirmSubscription
verwenden, 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, istSignature
eine Base64-kodierteSHA1withRSA
-Signatur der WerteMessage
,MessageId
,Type
,Timestamp
undTopicArn
. -
Wenn
SignatureVersion
2 lautet, istSignature
eine Base64-kodierteSHA256withRSA
-Signatur der WerteMessage
,MessageId
,Type
,Timestamp
undTopicArn
.
-
Signature
-
Eine Base64-kodierte
SHA1withRSA
- oderSHA256withRSA
-Signatur der WerteMessage
,MessageId
,Type
,Timestamp
undTopicArn
. 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.