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 formatos de mensajes
Amazon SNS utiliza los siguientes formatos.
Temas
- Encabezados de HTTP/HTTPS
- Formato JSON de confirmación de suscripción HTTP/HTTPS
- Formato JSON de notificación HTTP/HTTPS
- Formato JSON de confirmación de cancelación de suscripción HTTP/HTTPS
- Formato JSON de política de entrega SetSubscriptionAttributes
- Formato JSON de política de entrega SetTopicAttributes
Encabezados de HTTP/HTTPS
Cuando Amazon SNS envía una confirmación de suscripción, una notificación o un mensaje de confirmación de anulación de la suscripción a los puntos de enlace HTTP/HTTPS, envía un mensaje POST con una serie de valores de encabezado específicos de Amazon SNS. Puede utilizar los valores del encabezado para tareas como identificar el tipo de mensaje sin tener que analizar el cuerpo del mensaje JSON para leer el valor de Type
. De forma predeterminada, Amazon SNS envía todas las notificaciones a puntos de conexión HTTP/S con Content-Type
establecido a text/plain; charset=UTF-8
. Para elegir un Content-Type
distinto de text/plain (valor predeterminado), consulte headerContentType
en Creación de una política de entrega 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. En las notificaciones que Amazon SNS reenvía durante un reintento, se usa el ID de mensaje original.
x-amz-sns-topic-arn
-
Nombre de recurso de Amazon (ARN) del tema en el que se publicó el mensaje.
x-amz-sns-subscription-arn
-
ARN de la suscripción a este punto de enlace.
El siguiente encabezado HTTP POST es un ejemplo de encabezado para un mensaje Notification
a un punto de conexión 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
Formato JSON de confirmación de suscripción HTTP/HTTPS
Tras la suscripción a un punto de enlace HTTP/HTTPS, Amazon SNS envía un mensaje de confirmación de la suscripción al punto de enlace HTTP/HTTPS. 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 confirma la suscripción
El mensaje de confirmación de la suscripción es un mensaje POST con un cuerpo que contiene un documento JSON 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. En los mensajes que Amazon SNS reenvía durante un reintento, se usa el ID de mensaje original.
Token
-
Un valor que puede utilizar con la acción
ConfirmSubscription
para confirmar la suscripción. También puede visitar simplementeSubscribeURL
. TopicArn
-
Nombre de recurso de Amazon (ARN) del tema al que está suscrito este punto de enlace.
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
-
Dirección URL que debe visitar para confirmar la suscripción. O bien, puede utilizar
Token
con la acciónConfirmSubscription
para confirmar la suscripción. Timestamp
-
Hora (GMT) de envío de la confirmación de suscripción.
SignatureVersion
-
Versión de la firma de Amazon SNS 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
-
Dirección URL del certificado que se utilizó para firmar el mensaje.
El mensaje HTTP POST siguiente es un ejemplo de un mensaje de SubscriptionConfirmation
a un punto de conexión 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" }
Formato JSON de notificación HTTP/HTTPS
Cuando Amazon SNS envía una notificación a un punto de enlace HTTP o HTTPS suscrito, el cuerpo del mensaje POST enviado al punto de enlace contiene un documento JSON con los siguientes pares de 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. En las notificaciones que Amazon SNS reenvía durante un reintento, se usa el ID de mensaje original.
TopicArn
-
Nombre de recurso de Amazon (ARN) del tema en el que se publicó el 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 se especifica
Subject
, el par de nombre y valor no aparecerá en este documento JSON. Message
-
Valor
Message
especificado cuando se publicó la notificación en el tema. Timestamp
-
Hora (GMT) de publicación de la notificación.
SignatureVersion
-
Versión de la firma de Amazon SNS 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
-
Dirección URL del certificado que se utilizó para firmar el mensaje.
UnsubscribeURL
-
Dirección URL que puede utilizar para cancelar la suscripción del punto de enlace a este tema. Si visita esta URL, Amazon SNS cancela la suscripción del punto de enlace y deja de enviarle notificaciones.
El mensaje HTTP POST siguiente es un ejemplo de un mensaje de Notification
a un punto de conexión 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" } }
Formato JSON de confirmación de cancelación de suscripción HTTP/HTTPS
Después de cancelar la suscripción de un punto de enlace HTTP/HTTPS a un tema, Amazon SNS envía un mensaje de confirmación de cancelación de la suscripción al punto de enlace.
El mensaje de cancelación de la suscripción es un mensaje POST con un cuerpo que contiene un documento JSON 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. En los mensajes que Amazon SNS reenvía durante un reintento, se usa el ID de 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
-
Nombre de recurso de Amazon (ARN) del tema del que el punto de enlace ha cancelado su suscripción.
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
-
Dirección URL que debe 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
-
Hora (GMT) de envío de la cancelación de la suscripción.
SignatureVersion
-
Versión de la firma de Amazon SNS 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
-
Dirección URL del certificado que se utilizó para firmar el mensaje.
El mensaje HTTP POST siguiente es un ejemplo de un mensaje de UnsubscribeConfirmation
a un punto de conexión 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" }
Formato JSON de política de entrega SetSubscriptionAttributes
Si envía una solicitud a la acción SetSubscriptionAttributes
y establece el parámetro AttributeName
al valor DeliveryPolicy
, el valor del parámetro AttributeValue
válido debe ser un objeto JSON 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 formato JSON para el valor del parámetro 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" } }
Para obtener más información sobre la acción SetSubscriptionAttribute
, consulte SetSubscriptionAttributes en la Referencia de la API de Amazon Simple Notification Service. Para obtener más información sobre los encabezados content-type de HTTP compatibles, consulte Creación de una política de entrega HTTP/S.
Formato JSON de política de entrega SetTopicAttributes
Si envía una solicitud a la acción SetTopicAttributes
y establece el parámetro AttributeName
al valor DeliveryPolicy
, el valor del parámetro AttributeValue
válido debe ser un objeto JSON 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 formato JSON para el valor del parámetro 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" } } }
Para obtener más información sobre la acción SetTopicAttribute
, consulte SetTopicAttributes en la Referencia de la API de Amazon Simple Notification Service. Para obtener más información sobre los encabezados content-type de HTTP compatibles, consulte Creación de una política de entrega HTTP/S.