Skip to main content
FIFO e tratamento de falhas resolvem problemas diferentes. FIFO controla a próxima mensagem que um grupo pode receber. O redirecionamento tira mensagens abandonadas repetidamente da fila original para investigação separada.

Grupos FIFO

Uma fila é FIFO quando o nome termina em .fifo. Cada envio exige message_group_id, de até 128 bytes. Use um grupo por fluxo ordenado, como cliente ou pedido. Grupos diferentes avançam independentemente. Uma mensagem anterior não expirada bloqueia as seguintes do grupo enquanto estiver concedida ou atrasada. Uma mensagem demorada ou com falhas repetidas pode bloquear todo o grupo. Confirmá-la, expirá-la ou movê-la para a fila de falhas permite continuar.

Deduplicação

Envios FIFO exigem message_deduplication_id, de até 128 bytes, salvo com deduplicação por conteúdo. Reutilizar o mesmo ID na fila em cinco minutos retorna o ID da mensagem existente sem criar outra. O resultado indica duplicata. Na deduplicação por conteúdo, um ID omitido deriva do corpo. Atributos não entram no hash. Forneça IDs explícitos quando corpos iguais representarem eventos distintos. A deduplicação cobre envios na janela; um consumidor ainda pode receber novamente após vencer a concessão. Um corpo de envio FIFO pode conter:

Filas de mensagens não entregues

Crie o destino antes de vinculá-lo. Deve estar na mesma conta e região, ter o mesmo tipo e ser diferente da fila de origem. Escolha retenção suficiente para investigar. Defina os dois campos de redirecionamento na fila de origem:
O destino aceita nome, UUID ou CRN nas solicitações e retorna como referência. A contagem mede concessões, não exceções da aplicação. Após atingir o máximo e vencer a concessão ativa, a mensagem pode ser movida de forma assíncrona; não precisa aparecer imediatamente no destino. O destino inicia nova retenção desde a movimentação, com contagem zerada e sem concessão ativa. Uma mensagem problemática bloqueia seu grupo FIFO até ser removida, expirar ou ir para a fila de falhas. O redirecionamento permite avançar; avalie se ignorar aquele evento é aceitável para o fluxo.

Investigar e recuperar

Consuma ou inspecione a fila de falhas, corrija o consumidor ou os dados e republique deliberadamente o que deseja processar novamente. Um novo envio cria outra mensagem; preserve seu ID de evento para idempotência. Não republique todas as falhas automaticamente em um ciclo. Remova a política com redrive_policy: null no PATCH da origem. Isso não devolve mensagens existentes no destino. O console mostra as filas que referenciam um destino para remover suas vinculações antes de excluí-lo. Uma assinatura de Notifications também pode usar uma fila para entregas que falharam. Essa política cobre tentativas do serviço de alcançar um destino; a política da fila cobre falhas do consumidor em confirmar a concessão. Veja falhas de notificação.