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 dei SNS messaggi Amazon
Amazon SNS utilizza i seguenti formati.
Argomenti
HTTP/HTTPSintestazioni
Quando Amazon SNS invia un messaggio di conferma dell'abbonamento, notifica o annullamento dell'iscrizione aHTTP/HTTPSendpoints, invia un POST messaggio con una serie di valori di intestazione SNS specifici di Amazon. Puoi utilizzare i valori di intestazione per attività come l'identificazione del tipo di messaggio senza dover analizzare il corpo del JSON messaggio per leggere il valore. Type
Per impostazione predefinita, Amazon SNS invia tutte le notifiche agli endpoint HTTP /S con l'Content-Type
impostazione impostata su. text/plain; charset=UTF-8
Per scegliere un Content-Type
diverso da text/plain (impostazione predefinita), consultare headerContentType
in Creazione di una politica 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 univoco universale (UUID), unico per ogni messaggio pubblicato. Per una notifica che Amazon SNS invia nuovamente durante un nuovo tentativo, viene utilizzato l'ID del messaggio originale.
x-amz-sns-topic-arn
-
L'Amazon Resource Name (ARN) per l'argomento su cui è stato pubblicato questo messaggio.
x-amz-sns-subscription-arn
-
Il ARN per l'abbonamento a questo endpoint.
L'HTTPPOSTintestazione seguente è un esempio di intestazione per un Notification
messaggio 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
HTTP/formato HTTPS di conferma dell'iscrizione JSON
Dopo aver sottoscritto un HTTP/HTTPS endpoint, Amazon SNS sends a subscription confirmation
message to the HTTP/HTTPS endpoint. 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 invia notifiche a questo endpoint fino alla conferma dell'abbonamento
Il messaggio di conferma dell'abbonamento è un POST messaggio con un corpo del messaggio che contiene un JSON documento con le seguenti coppie nome-valore.
Type
-
Il tipo di messaggio. Per confermare la sottoscrizione, il tipo è
SubscriptionConfirmation
. MessageId
-
Un identificatore univoco universale (UUID), unico per ogni messaggio pubblicato. Per un messaggio che Amazon SNS invia nuovamente durante un nuovo tentativo, viene utilizzato l'ID del 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 è iscritto questo endpoint.
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
-
Il URL che devi visitare per confermare l'abbonamento. In alternativa, puoi utilizzare il
Token
con l'operazioneConfirmSubscription
per confermare la sottoscrizione. Timestamp
-
L'ora (GMT) in cui è stata inviata la conferma dell'abbonamento.
SignatureVersion
-
Versione della SNS firma Amazon 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
-
Al URL certificato utilizzato per firmare il messaggio.
Il HTTP POST messaggio seguente è un esempio di SubscriptionConfirmation
messaggio a un HTTP endpoint.
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/formato HTTPS di notifica JSON
Quando Amazon SNS invia una notifica a un abbonato HTTP o a un HTTPS endpoint, il POST messaggio inviato all'endpoint ha un corpo del messaggio che contiene un JSON documento con le seguenti coppie nome-valore.
Type
-
Il tipo di messaggio. Per una notifica, il tipo è
Notification
. MessageId
-
Un identificatore univoco universale (UUID), unico per ogni messaggio pubblicato. Per una notifica che Amazon SNS invia nuovamente durante un nuovo tentativo, viene utilizzato l'ID del messaggio originale.
TopicArn
-
L'Amazon Resource Name (ARN) per l'argomento su cui è stato pubblicato questo messaggio.
Subject
-
Il parametro
Subject
specificato quando la notifica è stata pubblicata nell'argomento.Nota
Si tratta di un parametro facoltativo. Se non
Subject
è stato specificato alcun valore, questa coppia nome-valore non viene visualizzata in questo JSON documento. Message
-
Il valore
Message
specificato nel momento in cui la notifica è stata pubblicata nell'argomento. Timestamp
-
L'ora (GMT) in cui è stata pubblicata la notifica.
SignatureVersion
-
Versione della SNS firma Amazon 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
-
Al URL certificato utilizzato per firmare il messaggio.
UnsubscribeURL
-
Un URL che puoi usare per annullare l'iscrizione all'endpoint da questo argomento. Se visiti questa paginaURL, Amazon annulla l'SNSiscrizione all'endpoint e interrompe l'invio di notifiche a questo endpoint.
Il seguente HTTP POST messaggio è un esempio di Notification
messaggio 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" } }
HTTP/formato di conferma HTTPS dell'annullamento dell'iscrizione JSON
Dopo l'annullamento dell'iscrizione a un HTTPS endpointHTTP/da un argomento, Amazon SNS invia un messaggio di conferma dell'annullamento dell'iscrizione all'endpoint.
Il messaggio di conferma dell'annullamento dell'iscrizione è un POST messaggio con un corpo del messaggio che contiene un JSON documento con le seguenti coppie nome-valore.
Type
-
Il tipo di messaggio. Per confermare l'annullamento della sottoscrizione, il tipo è
UnsubscribeConfirmation
. MessageId
-
Un identificatore univoco universale (UUID), unico per ogni messaggio pubblicato. Per un messaggio che Amazon SNS invia nuovamente durante un nuovo tentativo, viene utilizzato l'ID del 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 è stata annullata la sottoscrizione a 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
-
Il URL che devi visitare per confermare nuovamente l'abbonamento. 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 dell'iscrizione.
SignatureVersion
-
Versione della SNS firma Amazon 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
-
Al URL certificato utilizzato per firmare il messaggio.
Il HTTP POST messaggio seguente è un esempio di UnsubscribeConfirmation
messaggio a un HTTP endpoint.
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" }
SetSubscriptionAttributesformato della politica di JSON consegna
Se si invia una richiesta all'SetSubscriptionAttributes
azione e si imposta il AttributeName
parametro su un valore diDeliveryPolicy
, il valore del AttributeValue
parametro deve essere un oggetto validoJSON. 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}} ...
Utilizzate il seguente JSON formato per il valore del AttributeValue
parametro.
{ "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'SetSubscriptionAttribute
azione, consulta Amazon Simple Notification Service API Reference. SetSubscriptionAttributes Per ulteriori informazioni sulle intestazioni dei HTTP tipi di contenuto supportate, consulta. Creazione di una politica di consegna HTTP /S
SetTopicAttributes formato della politica di consegna JSON
Se si invia una richiesta all'SetTopicAttributes
azione e si imposta il AttributeName
parametro su un valore diDeliveryPolicy
, il valore del AttributeValue
parametro deve essere un oggetto validoJSON. 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}}} ...
Utilizzate il seguente JSON formato per il valore del AttributeValue
parametro.
{ "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 sull'SetTopicAttribute
azione, consulta Amazon Simple Notification Service API Reference. SetTopicAttributes Per ulteriori informazioni sulle intestazioni dei HTTP tipi di contenuto supportate, consulta. Creazione di una politica di consegna HTTP /S