As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Analisando formatos de SNS mensagem da Amazon
A Amazon SNS usa os seguintes formatos.
Tópicos
HTTP/HTTPScabeçalhos
Quando a Amazon SNS envia uma mensagem de confirmação, notificação ou confirmação de cancelamento de assinatura para HTTP HTTPS /endpoints, ela envia uma POST mensagem com vários valores de cabeçalho SNS específicos da Amazon. Você pode usar valores de cabeçalho para tarefas como identificar o tipo de mensagem sem precisar analisar o corpo da JSON mensagem para ler o Type
valor. Por padrão, a Amazon SNS envia todas as notificações para endpoints HTTP /S com Content-Type
definido como. text/plain; charset=UTF-8
Para escolher um Content-Type
diferente de texto/simples (padrão), consulte headerContentType
emCriação de uma política de entrega de HTTP /S.
x-amz-sns-message-type
-
O tipo de mensagem. Os valores possíveis são
SubscriptionConfirmation
,Notification
eUnsubscribeConfirmation
. x-amz-sns-message-id
-
Um identificador universalmente exclusivo (UUID), exclusivo para cada mensagem publicada. Para uma notificação que a Amazon SNS reenvia durante uma nova tentativa, o ID da mensagem original é usado.
x-amz-sns-topic-arn
-
O nome do recurso da Amazon (ARN) para o tópico no qual essa mensagem foi publicada.
x-amz-sns-subscription-arn
-
O ARN para a assinatura desse endpoint.
O HTTP POST cabeçalho a seguir é um exemplo de cabeçalho para uma Notification
mensagem em um HTTP endpoint.
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/JSONformato HTTPS de confirmação de assinatura
Depois de assinar um HTTP/HTTPS endpoint, Amazon SNS sends a subscription confirmation
message to the HTTP/HTTPS endpoint. Essa mensagem contém um valor SubscribeURL
que você deve consultar para confirmar a assinatura (como alternativa, é possível usar o valor Token
com o ConfirmSubscription
).
nota
A Amazon SNS não envia notificações para esse endpoint até que a assinatura seja confirmada
A mensagem de confirmação da assinatura é uma POST mensagem com um corpo de mensagem que contém um JSON documento com os seguintes pares de nome e valor.
Type
-
O tipo de mensagem. Para uma confirmação da inscrição, o tipo é
SubscriptionConfirmation
. MessageId
-
Um identificador universalmente exclusivo (UUID), exclusivo para cada mensagem publicada. Para uma mensagem que a Amazon SNS reenvia durante uma nova tentativa, o ID da mensagem original é usado.
Token
-
Um valor que pode ser usado com a ação
ConfirmSubscription
para confirmar a assinatura. Como alternativa, você pode simplesmente acessar oSubscribeURL
. TopicArn
-
O Amazon Resource Name (ARN) para o tópico no qual esse endpoint está inscrito.
Message
-
Uma string que descreve a mensagem. Para confirmação da inscrição, esta string é semelhante a:
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
-
O URL que você deve visitar para confirmar a assinatura. Como alternativa, é possível usar o
Token
com a açãoConfirmSubscription
para confirmar a assinatura. Timestamp
-
A hora (GMT) em que a confirmação da assinatura foi enviada.
SignatureVersion
-
Versão da SNS assinatura da Amazon usada.
-
Se
SignatureVersion
for 1,Signature
será uma assinaturaSHA1withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Type
,Timestamp
eTopicArn
. -
Se
SignatureVersion
for 2,Signature
será uma assinaturaSHA256withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Type
,Timestamp
eTopicArn
.
-
Signature
-
Assinatura
SHA1withRSA
ouSHA256withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Type
,Timestamp
eTopicArn
. SigningCertURL
-
O URL para o certificado que foi usado para assinar a mensagem.
A HTTP POST mensagem a seguir é um exemplo de SubscriptionConfirmation
mensagem para um 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/JSONformato HTTPS de notificação
Quando a Amazon SNS envia uma notificação para um assinante HTTP ou HTTPS endpoint, a POST mensagem enviada para o endpoint tem um corpo de mensagem que contém um JSON documento com os seguintes pares de nome/valor.
Type
-
O tipo de mensagem. Para uma notificação, o tipo é
Notification
. MessageId
-
Um identificador universalmente exclusivo (UUID), exclusivo para cada mensagem publicada. Para uma notificação que a Amazon SNS reenvia durante uma nova tentativa, o ID da mensagem original é usado.
TopicArn
-
O nome do recurso da Amazon (ARN) para o tópico no qual essa mensagem foi publicada.
Subject
-
O parâmetro
Subject
especificado quando a notificação foi publicada no tópico.nota
Esse parâmetro é opcional. Se não tiver
Subject
sido especificado, esse par nome-valor não aparecerá neste JSON documento. Message
-
O valor
Message
especificado quando a notificação foi publicada no tópico. Timestamp
-
A hora (GMT) em que a notificação foi publicada.
SignatureVersion
-
Versão da SNS assinatura da Amazon usada.
-
Se
SignatureVersion
for 1,Signature
será uma assinaturaSHA1withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Subject
(se presente),Type
,Timestamp
eTopicArn
. -
Se
SignatureVersion
for 2,Signature
será uma assinaturaSHA256withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Subject
(se presente),Type
,Timestamp
eTopicArn
.
-
Signature
-
Assinatura
SHA1withRSA
ouSHA256withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Subject
(se presente),Type
,Timestamp
eTopicArn
. SigningCertURL
-
O URL para o certificado que foi usado para assinar a mensagem.
UnsubscribeURL
-
Um URL que você pode usar para cancelar a inscrição do endpoint neste tópico. Se você visitar issoURL, a Amazon cancelará a SNS assinatura do endpoint e deixará de enviar notificações para esse endpoint.
A HTTP POST mensagem a seguir é um exemplo de Notification
mensagem para um HTTP endpoint.
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 de confirmação de HTTPS cancelamento de JSON assinatura
Depois que um HTTPS endpointHTTP/é desinscrito em um tópico, a Amazon SNS envia uma mensagem de confirmação de cancelamento de inscrição para o endpoint.
A mensagem de confirmação de cancelamento de assinatura é uma POST mensagem com um corpo de mensagem que contém um JSON documento com os seguintes pares de nome e valor.
Type
-
O tipo de mensagem. Para uma confirmação de cancelamento de inscrição, o tipo é
UnsubscribeConfirmation
. MessageId
-
Um identificador universalmente exclusivo (UUID), exclusivo para cada mensagem publicada. Para uma mensagem que a Amazon SNS reenvia durante uma nova tentativa, o ID da mensagem original é usado.
Token
-
Um valor que pode ser usado com a ação
ConfirmSubscription
para confirmar novamente a assinatura. Como alternativa, você pode simplesmente acessar oSubscribeURL
. TopicArn
-
O Amazon Resource Name (ARN) para o tópico do qual a assinatura desse endpoint foi cancelada.
Message
-
Uma string que descreve a mensagem. Para a confirmação de cancelamento de inscrição, esta string é semelhante a:
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
-
O URL que você deve visitar para reconfirmar a assinatura. Como alternativa, é possível usar o
Token
com a açãoConfirmSubscription
para confirmar novamente a assinatura. Timestamp
-
A hora (GMT) em que a confirmação de cancelamento da assinatura foi enviada.
SignatureVersion
-
Versão da SNS assinatura da Amazon usada.
-
Se
SignatureVersion
for 1,Signature
será uma assinaturaSHA1withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Type
,Timestamp
eTopicArn
. -
Se
SignatureVersion
for 2,Signature
será uma assinaturaSHA256withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Type
,Timestamp
eTopicArn
.
-
Signature
-
Assinatura
SHA1withRSA
ouSHA256withRSA
codificada em Base64 dos valoresMessage
,MessageId
,Type
,Timestamp
eTopicArn
. SigningCertURL
-
O URL para o certificado que foi usado para assinar a mensagem.
A HTTP POST mensagem a seguir é um exemplo de UnsubscribeConfirmation
mensagem para um 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" }
SetSubscriptionAttributesJSONformato da política de entrega
Se você enviar uma solicitação para a SetSubscriptionAttributes
ação e definir o AttributeName
parâmetro com um valor deDeliveryPolicy
, o valor do AttributeValue
parâmetro deverá ser um JSON objeto válido. Por exemplo, o exemplo a seguir define a política de entrega para um total de cinco novas tentativas.
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}} ...
Use o JSON formato a seguir para o valor do AttributeValue
parâmetro.
{ "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" } }
Para obter mais informações sobre a SetSubscriptionAttribute
ação, acesse a SetSubscriptionAttributesAPIReferência do Amazon Simple Notification Service. Para obter mais informações sobre os cabeçalhos de HTTP tipo de conteúdo compatíveis, consulte. Criação de uma política de entrega de HTTP /S
SetTopicAttributes JSONformato da política de entrega
Se você enviar uma solicitação para a SetTopicAttributes
ação e definir o AttributeName
parâmetro com um valor deDeliveryPolicy
, o valor do AttributeValue
parâmetro deverá ser um JSON objeto válido. Por exemplo, o exemplo a seguir define a política de entrega para um total de cinco novas tentativas.
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}}} ...
Use o JSON formato a seguir para o valor do AttributeValue
parâmetro.
{ "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" } } }
Para obter mais informações sobre a SetTopicAttribute
ação, acesse a SetTopicAttributesAPIReferência do Amazon Simple Notification Service. Para obter mais informações sobre os cabeçalhos de HTTP tipo de conteúdo compatíveis, consulte. Criação de uma política de entrega de HTTP /S