Analisi dei formati dei SNS messaggi Amazon - Amazon Simple Notification Service

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.

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-Typeimpostazione 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 e UnsubscribeConfirmation.

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 selezionare SubscribeURL.

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'operazione ConfirmSubscription 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 firma SHA1withRSA con codifica Base64 dei valori Message, MessageId, Type, Timestamp e TopicArn.

  • Se SignatureVersion è 2, Signature è una firma SHA256withRSA con codifica Base64 dei valori Message, MessageId, Type, Timestamp e TopicArn.

Signature

Firma SHA1withRSA o SHA256withRSA con codifica Base64 dei valori Message, MessageIdType, Timestamp e TopicArn.

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 firma SHA1withRSA con codifica Base64 dei valori Message, MessageId, Subject (se presente), Type, Timestamp e TopicArn.

  • Se SignatureVersion è 2, Signature è una firma SHA256withRSA con codifica Base64 dei valori Message, MessageId, Subject (se presente), Type, Timestamp e TopicArn.

Signature

Firma SHA1withRSA o SHA256withRSA con codifica Base64 dei valori Message, MessageIdSubject (se presente), Type, Timestamp e TopicArn.

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 selezionare SubscribeURL.

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'operazione ConfirmSubscription 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 firma SHA1withRSA con codifica Base64 dei valori Message, MessageId, Type, Timestamp e TopicArn.

  • Se SignatureVersion è 2, Signature è una firma SHA256withRSA con codifica Base64 dei valori Message, MessageId, Type, Timestamp e TopicArn.

Signature

Firma SHA1withRSA o SHA256withRSA con codifica Base64 dei valori Message, MessageIdType, Timestamp e TopicArn.

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'SetSubscriptionAttributesazione 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'SetSubscriptionAttributeazione, 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'SetTopicAttributesazione 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'SetTopicAttributeazione, 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