Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Análisis de los formatos de SNS mensajes de Amazon
Amazon SNS utiliza los siguientes formatos.
Temas
HTTP/HTTPSencabezados
Cuando Amazon SNS envía un mensaje de confirmación de suscripción, notificación o confirmación de cancelación de la suscripción aHTTP/HTTPSendpoints, envía un POST mensaje con una serie de valores de encabezado SNS específicos de Amazon. Puedes usar los valores del encabezado para tareas como identificar el tipo de mensaje sin tener que analizar el cuerpo del JSON mensaje para leer el Type
valor. De forma predeterminada, Amazon SNS envía todas las notificaciones a los puntos de enlace HTTP /S con el valor Content-Type
establecido en. text/plain; charset=UTF-8
Para elegir un Content-Type
distinto de text/plain (valor predeterminado), consulte headerContentType
en Crear una política de entrega de HTTP /S.
x-amz-sns-message-type
-
Tipo de mensaje. Los valores posibles son
SubscriptionConfirmation
,Notification
yUnsubscribeConfirmation
. x-amz-sns-message-id
-
Un identificador único universal (UUID), único para cada mensaje publicado. Para las notificaciones que Amazon SNS reenvía durante un reintento, se utiliza el identificador del mensaje original.
x-amz-sns-topic-arn
-
El nombre del recurso de Amazon (ARN) del tema en el que se publicó este mensaje.
x-amz-sns-subscription-arn
-
El ARN para la suscripción a este punto final.
El siguiente HTTP POST encabezado es un ejemplo del encabezado de un Notification
mensaje dirigido a un HTTP punto final.
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 confirmación de suscripción
Después de suscribir un HTTP/HTTPS endpoint, Amazon SNS sends a subscription confirmation
message to the HTTP/HTTPS punto final. Este mensaje contiene un valor SubscribeURL
que debe visitar para confirmar la suscripción (o bien, puede utilizar el valor Token
con ConfirmSubscription
).
nota
Amazon SNS no envía notificaciones a este punto de conexión hasta que se confirme la suscripción
El mensaje de confirmación de la suscripción es un POST mensaje con un cuerpo de mensaje que contiene un JSON documento con los siguientes pares de nombre-valor.
Type
-
Tipo de mensaje. Para obtener una confirmación de suscripción, el tipo es
SubscriptionConfirmation
. MessageId
-
Un identificador único universal (UUID), único para cada mensaje publicado. Para los mensajes que Amazon SNS reenvía durante un reintento, se utiliza el identificador del mensaje original.
Token
-
Un valor que puede utilizar con la acción
ConfirmSubscription
para confirmar la suscripción. También puede visitar simplementeSubscribeURL
. TopicArn
-
El nombre del recurso de Amazon (ARN) del tema al que está suscrito este punto final.
Message
-
Cadena que describe el mensaje. Para la confirmación de suscripción, esta cadena tiene el aspecto siguiente:
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
-
El URL que debe visitar para confirmar la suscripción. O bien, puede utilizar
Token
con la acciónConfirmSubscription
para confirmar la suscripción. Timestamp
-
La hora (GMT) en la que se envió la confirmación de la suscripción.
SignatureVersion
-
Versión de la SNS firma de Amazon utilizada.
-
Si
SignatureVersion
es 1,Signature
es una firmaSHA1withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Type
,Timestamp
yTopicArn
. -
Si
SignatureVersion
es 2,Signature
es una firmaSHA256withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Type
,Timestamp
yTopicArn
.
-
Signature
-
Firma de
SHA1withRSA
oSHA256withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Type
,Timestamp
yTopicArn
. SigningCertURL
-
La URL del certificado que se utilizó para firmar el mensaje.
El siguiente HTTP POST mensaje es un ejemplo de un SubscriptionConfirmation
mensaje dirigido a un HTTP punto final.
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 notificación
Cuando Amazon SNS envía una notificación a un suscriptor HTTP o HTTPS punto final, el POST mensaje enviado al punto final tiene un cuerpo de mensaje que contiene un JSON documento con los siguientes pares nombre-valor.
Type
-
Tipo de mensaje. Para una notificación, el tipo es
Notification
. MessageId
-
Un identificador único universal (UUID), único para cada mensaje publicado. Para las notificaciones que Amazon SNS reenvía durante un reintento, se utiliza el identificador del mensaje original.
TopicArn
-
El nombre del recurso de Amazon (ARN) del tema en el que se publicó este mensaje.
Subject
-
Parámetro
Subject
especificado cuando se publicó la notificación en el tema.nota
Se trata de un parámetro opcional. Si no
Subject
se especificó, este par nombre-valor no aparece en este JSON documento. Message
-
Valor
Message
especificado cuando se publicó la notificación en el tema. Timestamp
-
La hora (GMT) en que se publicó la notificación.
SignatureVersion
-
Versión de la SNS firma de Amazon utilizada.
-
Si
SignatureVersion
es 1,Signature
es una firmaSHA1withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Subject
( si está presente),Type
,Timestamp
yTopicArn
. -
Si
SignatureVersion
es 2,Signature
es una firmaSHA256withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Subject
( si está presente),Type
,Timestamp
yTopicArn
.
-
Signature
-
Firma de
SHA1withRSA
oSHA256withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Subject
(si está presente),Type
,Timestamp
yTopicArn
. SigningCertURL
-
La URL del certificado que se utilizó para firmar el mensaje.
UnsubscribeURL
-
A URL que puede utilizar para cancelar la suscripción de este tema al punto final. Si visitas este puntoURL, Amazon cancela la SNS suscripción al punto de conexión y deja de enviar notificaciones a este punto de conexión.
El siguiente HTTP POST mensaje es un ejemplo de un Notification
mensaje a un HTTP punto final.
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/JSONformato de confirmación de HTTPS cancelación de suscripción
Cuando se HTTP cancela la suscripción de un tema a un HTTPS punto final, Amazon SNS envía un mensaje de confirmación de cancelación de la suscripción al punto final.
El mensaje de confirmación de la cancelación de la suscripción es un POST mensaje con un cuerpo de mensaje que contiene un JSON documento con los siguientes pares de nombre-valor.
Type
-
Tipo de mensaje. Para obtener una confirmación de la cancelación de suscripción, el tipo es
UnsubscribeConfirmation
. MessageId
-
Un identificador único universal (UUID), único para cada mensaje publicado. Para los mensajes que Amazon SNS reenvía durante un reintento, se utiliza el identificador del mensaje original.
Token
-
Valor que puede utilizar con la acción
ConfirmSubscription
para volver a confirmar la suscripción. También puede visitar simplementeSubscribeURL
. TopicArn
-
El nombre del recurso de Amazon (ARN) del tema del que se ha cancelado la suscripción a este punto final.
Message
-
Cadena que describe el mensaje. Para la confirmación de la cancelación de suscripción, esta cadena tiene el aspecto siguiente:
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
-
El URL que debes visitar para volver a confirmar la suscripción. O bien, puede utilizar
Token
con la acciónConfirmSubscription
para volver a confirmar la suscripción. Timestamp
-
La hora (GMT) en la que se envió la confirmación de cancelación de la suscripción.
SignatureVersion
-
Versión de la SNS firma de Amazon utilizada.
-
Si
SignatureVersion
es 1,Signature
es una firmaSHA1withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Type
,Timestamp
yTopicArn
. -
Si
SignatureVersion
es 2,Signature
es una firmaSHA256withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Type
,Timestamp
yTopicArn
.
-
Signature
-
Firma de
SHA1withRSA
oSHA256withRSA
codificada en Base64 de los valoresMessage
,MessageId
,Type
,Timestamp
yTopicArn
. SigningCertURL
-
La URL del certificado que se utilizó para firmar el mensaje.
El siguiente HTTP POST mensaje es un ejemplo de un UnsubscribeConfirmation
mensaje dirigido a un HTTP punto final.
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 de política de entrega
Si envías una solicitud a la SetSubscriptionAttributes
acción y estableces el AttributeName
parámetro en un valor deDeliveryPolicy
, el valor del AttributeValue
parámetro debe ser un JSON objeto válido. Por ejemplo, el siguiente ejemplo establece la política de entrega en 5 reintentos en 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}} ...
Utilice el siguiente JSON formato para el valor del 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 obtener más información sobre la SetSubscriptionAttribute
acción, consulta la SetSubscriptionAttributesAPIreferencia del Amazon Simple Notification Service. Para obtener más información sobre los encabezados de HTTP tipo de contenido compatibles, consulte. Crear una política de entrega de HTTP /S
SetTopicAttributes formato de política de entrega JSON
Si envías una solicitud a la SetTopicAttributes
acción y estableces el AttributeName
parámetro en un valor deDeliveryPolicy
, el valor del AttributeValue
parámetro debe ser un JSON objeto válido. Por ejemplo, el siguiente ejemplo establece la política de entrega en 5 reintentos en 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}}} ...
Utilice el siguiente JSON formato para el valor del 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 obtener más información sobre la SetTopicAttribute
acción, consulta la SetTopicAttributesAPIreferencia del Amazon Simple Notification Service. Para obtener más información sobre los encabezados de HTTP tipo de contenido compatibles, consulte. Crear una política de entrega de HTTP /S