Análisis de los formatos de SNS mensajes de Amazon - Amazon Simple Notification Service

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.

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 y UnsubscribeConfirmation.

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

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ón ConfirmSubscription 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 firma SHA1withRSA codificada en Base64 de los valores Message, MessageId, Type, Timestamp y TopicArn.

  • Si SignatureVersion es 2, Signature es una firma SHA256withRSA codificada en Base64 de los valores Message, MessageId, Type, Timestamp y TopicArn.

Signature

Firma de SHA1withRSA o SHA256withRSA codificada en Base64 de los valores Message, MessageId, Type, Timestamp y TopicArn.

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 firma SHA1withRSA codificada en Base64 de los valores Message, MessageId, Subject ( si está presente), Type, Timestamp y TopicArn.

  • Si SignatureVersion es 2, Signature es una firma SHA256withRSA codificada en Base64 de los valores Message, MessageId, Subject ( si está presente), Type, Timestamp y TopicArn.

Signature

Firma de SHA1withRSA o SHA256withRSA codificada en Base64 de los valores Message, MessageId, Subject (si está presente), Type, Timestamp y TopicArn.

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

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ón ConfirmSubscription 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 firma SHA1withRSA codificada en Base64 de los valores Message, MessageId, Type, Timestamp y TopicArn.

  • Si SignatureVersion es 2, Signature es una firma SHA256withRSA codificada en Base64 de los valores Message, MessageId, Type, Timestamp y TopicArn.

Signature

Firma de SHA1withRSA o SHA256withRSA codificada en Base64 de los valores Message, MessageId, Type, Timestamp y TopicArn.

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