Entrega de mensagens brutas do Amazon SNS - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Entrega de mensagens brutas do Amazon SNS

Para evitar Fanout de fluxos de entrega do Firehose que os endpoints Amazon SQS e HTTP/S processem a formatação JSON das mensagens, o Amazon SNS permite a entrega de mensagens brutas:

  • Quando você habilita a entrega de mensagens brutas para nossos endpoints do Amazon SQS, qualquer metadado do Amazon SNS é retirado da mensagem publicada e a mensagem é enviada como está.

  • Quando você ativa a entrega de mensagens brutas para HTTP/S endpoints, o cabeçalho HTTP x-amz-sns-rawdelivery com seu valor definido como true é adicionado à mensagem, indicando que a mensagem foi publicada sem formatação JSON.

  • Quando você ativa a entrega de mensagens brutas para HTTP/S endpoints, o corpo da mensagem, o IP do cliente e os cabeçalhos necessários são entregues. Quando você especifica atributos de mensagem, ela não é enviada.

  • Quando você habilita a entrega de mensagens brutas para endpoints do Firehose, o corpo da mensagem é entregue. Quando você especifica atributos de mensagem, ela não é enviada.

Para habilitar a entrega de mensagens brutas usando um AWS SDK, você deve usar a ação da SetSubscriptionAttribute API e definir o valor do RawMessageDelivery atributo comotrue.

Habilitar a entrega de mensagens brutas usando o AWS Management Console

  1. Faça login no console do Amazon SNS.

  2. No painel de navegação, escolha Tópicos.

  3. Na página Tópicos, escolha um tópico inscrito em um Firehose, Amazon SQS ou endpoint. HTTP/S

  4. Na MyTopic página, na seção Assinatura, escolha uma assinatura e escolha Editar.

  5. Na EXAMPLE1-23bc-4567-d890-ef12g3hij456 página Editar, na seção Detalhes, escolha Habilitar entrega de mensagens brutas.

  6. Escolha Salvar alterações.

Exemplos de formatos de mensagens

Nos exemplos a seguir, a mesma mensagem é enviada para a mesma fila do Amazon SQS duas vezes. A única diferença é que a entrega de mensagens brutas está desabilitada para a primeira mensagem e habilitada para a segunda.

  • Entrega de mensagens brutas desabilitada

    { "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" }
  • Entrega de mensagens brutas habilitada

    This is a test message.

Atributos de mensagem e entrega de mensagens brutas para assinaturas do Amazon SQS

O Amazon SNS oferece suporte à entrega de atributos de mensagem, o que permite que você forneça itens de metadados estruturados, como time stamps, dados geoespaciais, assinaturas e identificadores sobre a mensagem. Para assinaturas Amazon SQS, com Entrega de mensagens brutas habilitado, no máximo dez atributos de mensagem podem ser enviados. Para enviar mais de dez atributos de mensagem, é necessário desabilitar Entrega de mensagens brutas. Porém, o Amazon SNS descarta mensagens com mais de 10 atributos de mensagem direcionadas para assinaturas do Amazon SQS com Entrega de mensagens brutas habilitadas, tratando elas como erros do lado do cliente.