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.
Para evitar que los puntos de conexión de Amazon Data Firehose, Amazon SQS y HTTP/S procesen el formato JSON de los mensajes, Amazon SNS permite la entrega de mensajes sin procesar:
-
Cuando se habilita la entrega de mensajes sin procesar para los puntos de conexión de Amazon Data Firehose o Amazon SQS, los metadatos de Amazon SNS se eliminan del mensaje publicado y el mensaje se envía tal cual.
-
Cuando habilita la entrega de mensajes sin formato para los puntos de enlace HTTP/S, el encabezado HTTP
x-amz-sns-rawdelivery
con su valor establecido entrue
se agrega al mensaje, lo que indica que el mensaje se ha publicado sin formato JSON. -
Cuando habilita la entrega de mensajes sin procesar para los puntos de conexión HTTP/S, se entregan el cuerpo del mensaje, la IP del cliente y los encabezados necesarios. Cuando especifica atributos de mensaje, no se enviará.
-
Cuando habilita la entrega de mensajes sin procesar para los puntos de conexión de Firehose, se entrega el cuerpo del mensaje. Cuando especifica atributos de mensaje, no se enviará.
Para habilitar la entrega de mensajes sin procesar mediante un AWS SDK, debe usar la acción de la SetSubscriptionAttribute
API y establecer el valor del RawMessageDelivery
atributo en. true
Habilitación de la entrega de mensajes sin procesar mediante la AWS Management Console
Inicie sesión en la consola de Amazon SNS
. -
En el panel de navegación, elija Temas.
-
En la página Temas, elija un tema suscrito a un punto de conexión de Firehose, Amazon SQS o HTTP/S.
-
En la
MyTopic
página, en la sección Suscripción, elija una suscripción y elija Editar. -
En la
EXAMPLE1-23bc-4567-d890-ef12g3hij456
página de edición, en la sección Detalles, selecciona Habilitar la entrega de mensajes sin procesar. -
Elija Guardar cambios.
Ejemplos de formato de mensajes
En los siguientes ejemplos, el mismo mensaje se envía dos veces a la misma cola de Amazon SQS. La única diferencia es que la entrega de mensajes sin procesar está desactivada para el primer mensaje y habilitada para el segundo.
-
La entrega de mensajes sin procesar está desactivada
{ "Type": "Notification", "MessageId": "dc1e94d9-56c5-5e96-808d-cc7f68faa162", "TopicArn": "arn:aws:sns:us-east-2:111122223333:ExampleTopic1", "Subject": "TestSubject", "Message": "This is a test message.", "Timestamp": "2021-02-16T21:41:19.978Z", "SignatureVersion": "1", "Signature": "FMG5tlZhJNHLHUXvZgtZzlk24FzVa7oX0T4P03neeXw8ZEXZx6z35j2FOTuNYShn2h0bKNC/zLTnMyIxEzmi2X1shOBWsJHkrW2xkR58ABZF+4uWHEE73yDVR4SyYAikP9jstZzDRm+bcVs8+T0yaLiEGLrIIIL4esi1llhIkgErCuy5btPcWXBdio2fpCRD5x9oR6gmE/rd5O7lX1c1uvnv4r1Lkk4pqP2/iUfxFZva1xLSRvgyfm6D9hNklVyPfy+7TalMD0lzmJuOrExtnSIbZew3foxgx8GT+lbZkLd0ZdtdRJlIyPRP44eyq78sU0Eo/LsDr0Iak4ZDpg8dXg==", "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-010a507c1833636cd94bdb98bd93083a.pem", "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:111122223333:ExampleTopic1:e1039402-24e7-40a3-a0d4-797da162b297" }
-
La entrega de mensajes sin procesar está habilitada
This is a test message.
Atributos de los mensajes y entrega de mensajes sin procesar para las suscripciones de Amazon SQS
Amazon SNS admite los atributos de entrega de mensajes, con los que se pueden ofrecer elementos de metadatos estructurados (como marcas de tiempo, datos geoespaciales, firmas e identificadores) relacionados con el mensaje. En el caso de las suscripciones de Amazon SQS con la característica Entrega de mensajes sin procesar habilitada, se puede enviar un máximo de 10 mensajes. Para enviar más de 10 atributos de mensaje, debe deshabilitar la entrega de mensajes sin procesar. Sin embargo, Amazon SNS descarta los mensajes con más de 10 atributos de mensaje dirigidos a las suscripciones de Amazon SQS con la entrega de mensajes sin procesar habilitada y los trata como errores del cliente.