Amazon Simple Notification Service
Guía para desarrolladores

Atributos de los mensajes de Amazon SNS

Amazon SNS admite los atributos de entrega de mensajes, que le permiten proporcionar elementos de metadatos estructurados (como marcas temporales, datos geoespaciales, firmas e identificadores) relacionados con el mensaje. Cada mensaje puede tener hasta 10 atributos.

Los atributos de los mensajes son opcionales y están separados del cuerpo del mensaje (pero se envían con él). El receptor puede utilizar esta información para decidir cómo gestionar el mensaje sin tener que procesar el cuerpo de este en primer lugar.

Para obtener información sobre cómo enviar mensajes con atributos mediante la Consola de administración de AWS o el AWS SDK for Java, consulte el tutorial Publicación de un mensaje con atributos en un tema de Amazon SNS.

nota

Los atributos de los mensajes se envían únicamente cuando la estructura de los mensajes es String, no JSON.

También puede utilizar los atributos del mensaje como ayuda para estructurar el mensaje de notificación push en los puntos de enlace móviles. En este caso, los atributos del mensaje solo se usan para ayudar a estructurar el mensaje de notificación push. Los atributos no se entregan al punto de enlace, como se entregan cuando se envían mensajes con atributos a puntos de enlace de Amazon SQS.

También puede utilizar atributos de mensajes para que sus mensajes se puedan filtrar mediante políticas de filtro de suscripciones. Puede aplicar políticas de filtro a las suscripciones de temas. Cuando se aplica una política de filtro, una suscripción recibe solo los mensajes que tienen atributos aceptados por la política. Para obtener más información, consulte Filtrado de mensajes.

Elementos y validación de los atributos de los mensajes

Cada atributo de mensaje consta de los siguientes elementos:

  • Nombre – El nombre del atributo de mensaje puede contener los siguientes caracteres: A-Z, a-z, 0-9, subrayado (_), guion (-) y punto (.). El nombre no debe comenzar ni finalizar con un punto y no debe tener dos puntos sucesivos. El nombre distingue entre mayúsculas y minúsculas y debe ser único entre todos los nombres de atributo del mensaje. El nombre puede tener una longitud de hasta 256 caracteres. El nombre no puede comenzar por "AWS." ni por "Amazon." (ni ninguna variación en el uso de mayúsculas y minúsculas), ya que estos prefijos están reservados para el uso de Amazon Web Services.

  • Tipo – Los tipos de datos admitidos para el atributo de mensaje son String, String.Array, Number y Binary. El tipo de datos tiene las mismas restricciones en lo que respecta al contenido que el cuerpo del mensaje. El tipo de datos distingue entre mayúsculas y minúsculas y puede tener una longitud de hasta 256 bytes. Para obtener más información, consulte la sección Tipos de datos y validación de los atributos de los mensajes.

  • Valor – El valor del atributo de mensaje especificado por el usuario. Para los tipos de datos String, el atributo de valor tiene las mismas restricciones en lo que respecta al contenido que el cuerpo del mensaje. Para obtener más información, consulte la acción Publish en la Amazon Simple Notification Service API Reference.

El nombre, el tipo y el valor no deben estar vacíos ni ser null. Además, el cuerpo del mensaje no debe estar vacío ni ser null. Todas las partes del atributo de mensaje, incluido el nombre, el tipo y el valor, están incluidas en la restricción de tamaño del mensaje, que actualmente es de 256 KB.

Tipos de datos y validación de los atributos de los mensajes

Los tipos de datos de los atributos de los mensajes identifican la forma en que Amazon SNS gestiona los valores de los atributos de los mensajes. Por ejemplo, si el tipo es un número, Amazon SNS valida que es un número.

Amazon SNS admite los tipos de datos lógicos siguientes:

  • String – Los valores de tipo String son Unicode con codificación binaria UTF-8. Para obtener una lista de valores de códigos, consulte http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

  • String.Array – Una matriz, con formato de cadena, que puede contener varios valores. Los valores pueden ser cadenas, números o las palabras clave true, false y null.

  • Number – Los números son enteros positivos o negativos o números de coma flotante. Tienen una precisión y un rango adecuados para abarcar la mayoría de los posibles valores que los tipos integer, float y double admiten normalmente. Un número puede tener un valor comprendido entre -109 y 109, con una precisión de 5 dígitos tras el separador decimal. Los ceros iniciales y finales se recortan.

  • Binary – Los atributos de tipo Binary permiten almacenar datos binarios de cualquier índole, tales como datos comprimidos, datos cifrados o imágenes.

Atributos de los mensajes reservados para notificaciones push en móviles

En la siguiente tabla, se muestran los atributos de los mensajes reservados para los servicios de notificaciones de inserción en móviles que puede utilizar para estructurar mensajes de notificación de inserción:

Servicio de notificaciones automatizado Atributo de mensaje reservado
ADM AWS.SNS.MOBILE.ADM.TTL
APNs AWS.SNS.MOBILE.APNS_MDM.TTL
AWS.SNS.MOBILE.APNS_MDM_SANDBOX.TTL
AWS.SNS.MOBILE.APNS_PASSBOOK.TTL
AWS.SNS.MOBILE.APNS_PASSBOOK_SANDBOX.TTL
AWS.SNS.MOBILE.APNS_SANDBOX.TTL
AWS.SNS.MOBILE.APNS_VOIP.TTL
AWS.SNS.MOBILE.APNS_VOIP_SANDBOX.TTL
AWS.SNS.MOBILE.APNS.COLLAPSE_ID
AWS.SNS.MOBILE.APNS.PRIORITY
AWS.SNS.MOBILE.APNS.PUSH_TYPE
AWS.SNS.MOBILE.APNS.TOPIC
AWS.SNS.MOBILE.APNS.TTL
AWS.SNS.MOBILE.PREFERRED_AUTHENTICATION_METHOD

Baidu

AWS.SNS.MOBILE.BAIDU.DeployStatus
AWS.SNS.MOBILE.BAIDU.MessageKey
AWS.SNS.MOBILE.BAIDU.MessageType
AWS.SNS.MOBILE.BAIDU.TTL
FCM AWS.SNS.MOBILE.FCM.TTL
AWS.SNS.MOBILE.GCM.TTL
macOS AWS.SNS.MOBILE.MACOS_SANDBOX.TTL
AWS.SNS.MOBILE.MACOS.TTL

MPNS

AWS.SNS.MOBILE.MPNS.NotificationClass
AWS.SNS.MOBILE.MPNS.TTL

AWS.SNS.MOBILE.MPNS.Type

WNS AWS.SNS.MOBILE.WNS.CachePolicy
AWS.SNS.MOBILE.WNS.Group
AWS.SNS.MOBILE.WNS.Match
AWS.SNS.MOBILE.WNS.SuppressPopup
AWS.SNS.MOBILE.WNS.Tag
AWS.SNS.MOBILE.WNS.TTL
AWS.SNS.MOBILE.WNS.Type