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á.
Desduplicação de mensagens para tópicos FIFO
Os tópicos FIFO do Amazon SNS e as filas FIFO do Amazon SQS oferecem suporte à desduplicação de mensagens, que fornece entrega e processamento de mensagens exatamente uma vez, desde que as seguintes condições sejam atendidas:
-
A fila FIFO do Amazon SQS inscrita existe e tem permissões para que a entidade principal de serviço do Amazon SNS entregue mensagens para a fila.
-
O consumidor de fila FIFO do Amazon SQS processa a mensagem e a exclui da fila antes que o tempo limite de visibilidade expire.
-
O tópico de assinatura do Amazon SNS não tem filtragem de mensagens. Quando você configura a filtragem de mensagens, os tópicos FIFO do Amazon SNS at-most-once oferecem suporte à entrega, pois as mensagens podem ser filtradas com base nas suas políticas de filtro de assinatura.
-
Não há interrupções de rede que impeçam a confirmação da entrega da mensagem.
nota
A desduplicação de mensagens aplica-se a um tópico FIFO do Amazon SNS inteiro, não a um grupo de mensagens individual.
Quando você publica uma mensagem em um tópico FIFO do Amazon SNS, a mensagem deve incluir um ID de desduplicação. Esse ID está incluído na mensagem que o tópico FIFO do Amazon SNS entrega às filas FIFO do Amazon SQS inscritas.
Se uma mensagem com um ID de desduplicação específico for publicada com êxito em um tópico FIFO do SNS, qualquer mensagem publicada com o mesmo ID de desduplicação, dentro do intervalo de desduplicação de cinco minutos, será aceita, mas não entregue. O tópico FIFO do Amazon SNS continua a rastrear o ID de desduplicação da mensagem, mesmo depois que a mensagem é entregue aos endpoints inscritos.
Se houver garantia de que o corpo da mensagem será exclusivo para cada mensagem publicada, você poderá habilitar a desduplicação baseada em conteúdo para um tópico FIFO do Amazon SNS e as filas FIFO do Amazon SQS inscritas. O Amazon SNS usa o corpo da mensagem para gerar um valor de hash exclusivo a ser usado como o ID de desduplicação para cada mensagem, portanto, você não precisa definir um ID de desduplicação ao enviar cada mensagem.
nota
Os atributos de mensagem não estão incluídos no cálculo de hash.
Quando a desduplicação baseada em conteúdo é habilitada para um tópico FIFO do Amazon SNS e uma mensagem é publicada com uma ID de desduplicação, a ID de desduplicação publicada substitui a ID de desduplicação baseada em conteúdo gerada.
No caso de uso de exemplo de gerenciamento de preços de peças automotivas, a empresa deve definir um ID de desduplicação universalmente exclusivo para cada atualização de preço. Isso ocorre porque o corpo da mensagem pode ser idêntico mesmo quando o atributo de mensagem é diferente para atacado e varejo. No entanto, se a empresa adicionasse o tipo de negócio (atacado ou varejo) ao corpo da mensagem com o ID e o preço do produto, ela poderia permitir a duplicação baseada em conteúdo no tópico FIFO do Amazon SNS e nas filas FIFO do Amazon SQS inscritas.
![Com a desduplicação de mensagens, várias mensagens com conteúdo duplicado são entregues apenas uma vez.](images/sns-fifo-dedup.png)
Além da ordenação e desduplicação de mensagens, os tópicos FIFO do Amazon SNS oferecem suporte à criptografia do lado do servidor (SSE) de mensagens com chaves e à privacidade de mensagens por meio de VPC endpoints AWS KMS com. AWS PrivateLink Para ter mais informações, consulte Segurança de mensagens para tópicos FIFO.