Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Analyse des formats des messages
Amazon SNS utilise les formats suivants.
Rubriques
En-têtes HTTP/HTTPS
Lorsque Amazon SNS envoie un message de confirmation d'abonnement, de notification ou de confirmation de désabonnement aux points de terminaison HTTP/HTTPS, il envoie un message POST avec un certain nombre de valeurs d'en-tête spécifiques à Amazon SNS. Vous pouvez utiliser les valeurs d'en-tête pour des opérations telles que l'identification du type de message sans avoir à analyser le corps du message JSON pour lire la valeur Type
. Par défaut, Amazon SNS envoie toutes les notifications aux points de terminaison HTTP/S avec Content-Type
défini sur text/plain; charset=UTF-8
. Pour choisir un Content-Type
autre que text/plain (par défaut), consultez headerContentType
dans Création d'une politique de distribution HTTP/S.
x-amz-sns-message-type
-
Type du message. Les valeurs possibles sont
SubscriptionConfirmation
,Notification
etUnsubscribeConfirmation
. x-amz-sns-message-id
-
Identifiant unique universel (UUID), propre à chaque message publié. Pour une notification qu'Amazon SNS renvoie au cours d'une nouvelle tentative, l'ID du message d'origine est utilisé.
x-amz-sns-topic-arn
-
Amazon Resource Name (ARN) de la rubrique dans laquelle ce message a été publié.
x-amz-sns-subscription-arn
-
ARN de l'abonnement à ce point de terminaison.
L'en-tête HTTP POST suivant est un exemple d'en-tête pour un message Notification
adressé à un point de terminaison HTTP.
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
Format JSON de confirmation d'abonnement HTTP/HTTPS
Une fois que vous avez abonné un point de terminaison HTTP/HTTPS, Amazon SNS envoie un message de confirmation d'abonnement au point de terminaison HTTP/HTTPS. Ce message contient une valeur SubscribeURL
que vous devez visiter pour confirmer l'abonnement (sinon, vous pouvez utiliser la valeur Token
avec ConfirmSubscription
).
Note
Amazon SNS n'envoie pas de notifications à ce point de terminaison tant que l'abonnement n'est pas confirmé
Le message de confirmation d'abonnement est un message POST dont le corps contient un document JSON avec les paires nom-valeur suivantes.
Type
-
Type du message. Pour une confirmation d'abonnement, le type est
SubscriptionConfirmation
. MessageId
-
Identifiant unique universel (UUID), propre à chaque message publié. Pour un message qu'Amazon SNS renvoie au cours d'une nouvelle tentative, l'ID de message d'origine est utilisé.
Token
-
Valeur que vous pouvez utiliser avec l'action
ConfirmSubscription
pour confirmer l'abonnement. Sinon, vous pouvez simplement visiter le paramètreSubscribeURL
. TopicArn
-
Amazon Resource Name (ARN) de la rubrique à laquelle ce point de terminaison est abonné.
Message
-
Chaîne qui décrit le message. Pour une confirmation d'abonnement, cette chaîne se présente comme suit :
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 que vous devez visiter afin de confirmer l'abonnement. Sinon, vous pouvez utiliser à la place le
Token
avec l'actionConfirmSubscription
pour confirmer l'abonnement. Timestamp
-
Heure (GMT) à laquelle la confirmation d'abonnement a été envoyée.
SignatureVersion
-
Version de la signature Amazon SNS utilisée.
-
Si
SignatureVersion
a pour valeur 1,Signature
est une signatureSHA1withRSA
codée en Base64 des valeursMessage
,MessageId
,Type
,Timestamp
etTopicArn
. -
Si
SignatureVersion
a pour valeur 2,Signature
est une signatureSHA256withRSA
codée en Base64 des valeursMessage
,MessageId
,Type
,Timestamp
etTopicArn
.
-
Signature
-
Signature
SHA1withRSA
ouSHA256withRSA
codée en Base64 des valeursMessage
,MessageId
,Type
,Timestamp
etTopicArn
. SigningCertURL
-
URL permettant d'accéder au certificat utilisé pour signer le message.
Le message HTTP POST suivant est un exemple de message SubscriptionConfirmation
à un point de terminaison HTTP.
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" }
Format JSON de notification HTTP/HTTPS
Lorsqu'Amazon SNS envoie une notification à un point de terminaison HTTP ou HTTPS abonné, le corps du message POST envoyé au point de terminaison contient un document JSON avec les paires nom-valeur suivantes.
Type
-
Type du message. Pour une notification, le type est
Notification
. MessageId
-
Identifiant unique universel (UUID), propre à chaque message publié. Pour une notification qu'Amazon SNS renvoie au cours d'une nouvelle tentative, l'ID du message d'origine est utilisé.
TopicArn
-
Amazon Resource Name (ARN) de la rubrique dans laquelle ce message a été publié.
Subject
-
Paramètre
Subject
spécifié quand la notification a été publiée dans la rubrique.Note
Ce paramètre est facultatif. Si aucun paramètre
Subject
n'a été spécifié, cette paire nom-valeur n'apparaît pas dans ce document JSON. Message
-
Valeur
Message
spécifiée quand la notification a été publiée dans la rubrique. Timestamp
-
Heure (GMT) à laquelle la notification a été publiée.
SignatureVersion
-
Version de la signature Amazon SNS utilisée.
-
Si
SignatureVersion
a pour valeur 1,Signature
est une signatureSHA1withRSA
codée en Base64 des valeursMessage
,MessageId
,Subject
(le cas échéant),Type
,Timestamp
etTopicArn
. -
Si
SignatureVersion
a pour valeur 2,Signature
est une signatureSHA256withRSA
codée en Base64 des valeursMessage
,MessageId
,Subject
(le cas échéant),Type
,Timestamp
etTopicArn
.
-
Signature
-
Signature
SHA1withRSA
ouSHA256withRSA
codée en Base64 des valeursMessage
,MessageId
,Subject
(le cas échéant),Type
,Timestamp
etTopicArn
. SigningCertURL
-
URL permettant d'accéder au certificat utilisé pour signer le message.
UnsubscribeURL
-
URL que vous pouvez utiliser pour désabonner le point de terminaison de cette rubrique. Si vous visitez cette URL, Amazon SNS désabonne le point de terminaison et cesse de lui envoyer des notifications.
Le message HTTP POST suivant est un exemple de message Notification
à un point de terminaison HTTP.
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" } }
Format JSON de confirmation de désabonnement HTTP/HTTPS
Une fois qu'un point de terminaison HTTP/HTTPS est désabonné d'une rubrique, Amazon SNS envoie un message de confirmation de désabonnement au point de terminaison.
Le message de confirmation de désabonnement est un message POST dont le corps contient un document JSON avec les paires nom-valeur suivantes.
Type
-
Type du message. Pour une confirmation de désabonnement, le type est
UnsubscribeConfirmation
. MessageId
-
Identifiant unique universel (UUID), propre à chaque message publié. Pour un message qu'Amazon SNS renvoie au cours d'une nouvelle tentative, l'ID de message d'origine est utilisé.
Token
-
Valeur que vous pouvez utiliser avec l'action
ConfirmSubscription
pour reconfirmer l'abonnement. Sinon, vous pouvez simplement visiter le paramètreSubscribeURL
. TopicArn
-
Amazon Resource Name (ARN) de la rubrique dont ce point de terminaison s'est désabonné.
Message
-
Chaîne qui décrit le message. Pour une confirmation de désabonnement, cette chaîne se présente comme suit :
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 que vous devez visiter afin de reconfirmer l'abonnement. Sinon, vous pouvez utiliser à la place le
Token
avec l'actionConfirmSubscription
pour reconfirmer l'abonnement. Timestamp
-
Heure (GMT) à laquelle la confirmation de désabonnement a été envoyée.
SignatureVersion
-
Version de la signature Amazon SNS utilisée.
-
Si
SignatureVersion
a pour valeur 1,Signature
est une signatureSHA1withRSA
codée en Base64 des valeursMessage
,MessageId
,Type
,Timestamp
etTopicArn
. -
Si
SignatureVersion
a pour valeur 2,Signature
est une signatureSHA256withRSA
codée en Base64 des valeursMessage
,MessageId
,Type
,Timestamp
etTopicArn
.
-
Signature
-
Signature
SHA1withRSA
ouSHA256withRSA
codée en Base64 des valeursMessage
,MessageId
,Type
,Timestamp
etTopicArn
. SigningCertURL
-
URL permettant d'accéder au certificat utilisé pour signer le message.
Le message HTTP POST suivant est un exemple de message UnsubscribeConfirmation
à un point de terminaison HTTP.
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" }
Format JSON de politique de diffusion SetSubscriptionAttributes
Si vous envoyez une demande à l'action SetSubscriptionAttributes
et que vous définissez le paramètre AttributeName
sur la valeur DeliveryPolicy
, la valeur du paramètre AttributeValue
doit être un objet JSON valide. Par exemple, l'exemple suivant définit la politique de diffusion sur 5 tentatives au total.
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}} ...
Utilisez le format JSON suivant pour la valeur du paramètre 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" } }
Pour plus d'informations sur l'action SetSubscriptionAttribute
, accédez à SetSubscriptionAttributes dans la Référence d'API Amazon Simple Notification Service. Pour plus d'informations sur les en-têtes content-type HTTP pris en charge, consultez Création d'une politique de distribution HTTP/S.
Format JSON de politique de diffusion SetTopicAttributes
Si vous envoyez une demande à l'action SetTopicAttributes
et que vous définissez le paramètre AttributeName
sur la valeur DeliveryPolicy
, la valeur du paramètre AttributeValue
doit être un objet JSON valide. Par exemple, l'exemple suivant définit la politique de diffusion sur 5 tentatives au total.
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}}} ...
Utilisez le format JSON suivant pour la valeur du paramètre 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" } } }
Pour de plus amples informations sur l'action SetTopicAttribute
, accédez à SetTopicAttributes dans la Référence d'API Amazon Simple Notification Service. Pour plus d'informations sur les en-têtes content-type HTTP pris en charge, consultez Création d'une politique de distribution HTTP/S.