Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Analisi dei formati di messaggi
Amazon SNS utilizza i seguenti formati.
Argomenti
Intestazioni HTTP/HTTPS
Quando Amazon SNS manda un messaggio di conferma o annullamento dell'iscrizione o di notifica agli endpoint HTTP/HTTPS, invia un messaggio POST con un numero di valori d'intestazione specifici di Amazon SNS. Puoi utilizzare i valori d'intestazione per attività quali l’identificazione del tipo di messaggio senza dover analizzare il corpo del messaggio JSON per leggere il valore Type
. Per impostazione predefinita, Amazon SNS invia tutte le notifiche agli endpoint HTTP/S con Content-Type
impostato su text/plain; charset=UTF-8
. Per scegliere un Content-Type
diverso da text/plain (impostazione predefinita), consultare headerContentType
in Creazione di una policy di consegna HTTP/S.
x-amz-sns-message-type
-
Il tipo di messaggio. I valori possibili sono
SubscriptionConfirmation
,Notification
eUnsubscribeConfirmation
. x-amz-sns-message-id
-
Un identificatore unico universale (UUID), univoco per ogni messaggio pubblicato. Per una notifica che Amazon SNS reinvia durante un nuovo tentativo, viene utilizzato l'ID messaggio originale.
x-amz-sns-topic-arn
-
L'Amazon Resource Name (ARN) per l'argomento in cui questo messaggio è stato pubblicato.
x-amz-sns-subscription-arn
-
L'ARN per la sottoscrizione a questo endpoint.
L'intestazione HTTP POST seguente è un esempio di intestazione per un messaggio Notification
inviato a un endpoint 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
Conferma sottoscrizione HTTP/HTTPS in formato JSON
Una volta effettuata la sottoscrizione all'endpoint HTTP/HTTPS, Amazon SNS invia a esso un messaggio di conferma. Tale messaggio contiene un valore SubscribeURL
da selezionare per confermare la sottoscrizione. In alternativa, puoi utilizzare il valore Token
con ConfirmSubscription
.
Nota
Amazon SNS non invierà notifiche a questo endpoint fino alla conferma della sottoscrizione
Il messaggio di conferma della sottoscrizione è un messaggio POST con un corpo che contiene un documento JSON con le seguenti coppie nome/valore.
Type
-
Il tipo di messaggio. Per confermare la sottoscrizione, il tipo è
SubscriptionConfirmation
. MessageId
-
Un identificatore unico universale (UUID), univoco per ogni messaggio pubblicato. Per un messaggio che Amazon SNS invia di nuovo durante un nuovo tentativo, viene utilizzato l'ID messaggio originale.
Token
-
Un valore che puoi utilizzare con l'operazione
ConfirmSubscription
per confermare la sottoscrizione. In alternativa, puoi selezionareSubscribeURL
. TopicArn
-
L'Amazon Resource Name (ARN) per l'argomento a cui questo endpoint è sottoscritto.
Message
-
Una stringa che descrive il messaggio. Per una conferma di sottoscrizione, la stringa deve avere il seguente aspetto:
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
-
L'URL da selezionare per confermare la sottoscrizione. In alternativa, puoi utilizzare il
Token
con l'operazioneConfirmSubscription
per confermare la sottoscrizione. Timestamp
-
L'ora (GMT) in cui è stata inviata la conferma della sottoscrizione.
SignatureVersion
-
La versione della firma Amazon SNS utilizzata.
-
Se
SignatureVersion
è 1,Signature
è una firmaSHA1withRSA
con codifica Base64 dei valoriMessage
,MessageId
,Type
,Timestamp
eTopicArn
. -
Se
SignatureVersion
è 2,Signature
è una firmaSHA256withRSA
con codifica Base64 dei valoriMessage
,MessageId
,Type
,Timestamp
eTopicArn
.
-
Signature
-
Firma
SHA1withRSA
oSHA256withRSA
con codifica Base64 dei valoriMessage
,MessageId
Type
,Timestamp
eTopicArn
. SigningCertURL
-
L'URL per il certificato utilizzato per firmare il messaggio.
Il seguente messaggio HTTP POST è un esempio di messaggio SubscriptionConfirmation
inviato a un endpoint 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" }
Notifica HTTP/HTTPS in formato JSON
Quando Amazon SNS invia una notifica a un endpoint HTTP o HTTPS sottoscritto, il corpo del messaggio POST inviato all'endpoint contiene un documento JSON con le seguenti coppie nome/valore.
Type
-
Il tipo di messaggio. Per una notifica, il tipo è
Notification
. MessageId
-
Un identificatore unico universale (UUID), univoco per ogni messaggio pubblicato. Per una notifica che Amazon SNS reinvia durante un nuovo tentativo, viene utilizzato l'ID messaggio originale.
TopicArn
-
L'Amazon Resource Name (ARN) per l'argomento in cui questo messaggio è stato pubblicato.
Subject
-
Il parametro
Subject
specificato quando la notifica è stata pubblicata nell'argomento.Nota
Si tratta di un parametro facoltativo. Se non è stato specificato alcun
Subject
, questa coppia nome/valore non appare nel documento JSON. Message
-
Il valore
Message
specificato nel momento in cui la notifica è stata pubblicata nell'argomento. Timestamp
-
L'ora (GMT) di pubblicazione della notifica.
SignatureVersion
-
La versione della firma Amazon SNS utilizzata.
-
Se
SignatureVersion
è 1,Signature
è una firmaSHA1withRSA
con codifica Base64 dei valoriMessage
,MessageId
,Subject
(se presente),Type
,Timestamp
eTopicArn
. -
Se
SignatureVersion
è 2,Signature
è una firmaSHA256withRSA
con codifica Base64 dei valoriMessage
,MessageId
,Subject
(se presente),Type
,Timestamp
eTopicArn
.
-
Signature
-
Firma
SHA1withRSA
oSHA256withRSA
con codifica Base64 dei valoriMessage
,MessageId
Subject
(se presente),Type
,Timestamp
eTopicArn
. SigningCertURL
-
L'URL per il certificato utilizzato per firmare il messaggio.
UnsubscribeURL
-
Un URL che puoi utilizzare per annullare la sottoscrizione dell'endpoint da questo argomento. Se visiti questo URL, Amazon SNS annulla la sottoscrizione all'endpoint e interrompe l'invio di notifiche a esso.
Il seguente messaggio HTTP POST è un esempio di messaggio Notification
inviato a un endpoint 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" } }
Conferma annullamento sottoscrizione HTTP/HTTPS in formato JSON
Dopo l'annullamento della sottoscrizione di un endpoint HTTP/HTTPS da un argomento, Amazon SNS invia a esso un messaggio di conferma dell'annullamento.
Il messaggio di conferma dell'annullamento della sottoscrizione è un messaggio POST con un corpo che contiene un documento JSON con le seguenti coppie nome/valore.
Type
-
Il tipo di messaggio. Per confermare l'annullamento della sottoscrizione, il tipo è
UnsubscribeConfirmation
. MessageId
-
Un identificatore unico universale (UUID), univoco per ogni messaggio pubblicato. Per un messaggio che Amazon SNS invia di nuovo durante un nuovo tentativo, viene utilizzato l'ID messaggio originale.
Token
-
Un valore che puoi utilizzare con l'operazione
ConfirmSubscription
per confermare nuovamente la sottoscrizione. In alternativa, puoi selezionareSubscribeURL
. TopicArn
-
L'Amazon Resource Name (ARN) per l'argomento da cui è stato effettuato l'annullamento della sottoscrizione di questo endpoint.
Message
-
Una stringa che descrive il messaggio. La stringa per la conferma di annullamento della sottoscrizione ha il seguente aspetto:
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
-
L'URL da selezionare per confermare nuovamente la sottoscrizione. In alternativa, puoi utilizzare il
Token
con l'operazioneConfirmSubscription
per confermare nuovamente la sottoscrizione. Timestamp
-
L'ora (GMT) in cui è stata inviata la conferma di annullamento della sottoscrizione.
SignatureVersion
-
La versione della firma Amazon SNS utilizzata.
-
Se
SignatureVersion
è 1,Signature
è una firmaSHA1withRSA
con codifica Base64 dei valoriMessage
,MessageId
,Type
,Timestamp
eTopicArn
. -
Se
SignatureVersion
è 2,Signature
è una firmaSHA256withRSA
con codifica Base64 dei valoriMessage
,MessageId
,Type
,Timestamp
eTopicArn
.
-
Signature
-
Firma
SHA1withRSA
oSHA256withRSA
con codifica Base64 dei valoriMessage
,MessageId
Type
,Timestamp
eTopicArn
. SigningCertURL
-
L'URL per il certificato utilizzato per firmare il messaggio.
Il seguente messaggio HTTP POST è un esempio di messaggio UnsubscribeConfirmation
inviato a un endpoint 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" }
Policy di consegna di SetSubscriptionAttributes in formato JSON
Se invii una richiesta all'operazione SetSubscriptionAttributes
e imposti il parametro AttributeName
su un valore di DeliveryPolicy
, il valore del parametro AttributeValue
deve essere un oggetto JSON valido. Per esempio, il caso seguente imposta la policy di consegna su 5 tentativi totali.
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}} ...
Utilizza il seguente formato JSON per il valore del parametro 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" } }
Per ulteriori informazioni sull’operazione SetSubscriptionAttribute
, passa a SetTopicAttributes nella Documentazione di riferimento dell’API di Amazon Simple Notification Service. Per ulteriori informazioni sulle intestazioni dei tipi di contenuto HTTP supportate, consultare Creazione di una policy di consegna HTTP/S.
Policy di consegna SetTopicAttributes in formato JSON
Se invii una richiesta all'operazione SetTopicAttributes
e imposti il parametro AttributeName
su un valore di DeliveryPolicy
, il valore del parametro AttributeValue
deve essere un oggetto JSON valido. Per esempio, il caso seguente imposta la policy di consegna su 5 tentativi totali.
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}}} ...
Utilizza il seguente formato JSON per il valore del parametro 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" } } }
Per ulteriori informazioni sulla SetTopicAttribute
azione, vai a SetTopicAttributes nella Amazon Simple Notification Service API reference. Per ulteriori informazioni sulle intestazioni dei tipi di contenuto HTTP supportate, consultare Creazione di una policy di consegna HTTP/S.