Todos os produtos
Search
Central de documentação

:Erro "message not exist" ao excluir uma mensagem no SMQ

Última atualização: Oct 20, 2026

O erro "message not exist" ocorre quando você exclua uma mensagem no Simple Message Queue (formerly MNS) com um receipt handle expirado. Ajuste o parâmetro VisibilityTimeout para resolver este problema.

Problema

A seguinte mensagem de erro aparece quando você exclua uma mensagem no SMQ:

message not exist

Causa

O receipt handle torna-se inválido após o fim do visibility timeout period:

  • Quando um consumidor recebe uma mensagem, seu status muda de ativo para inativo.

  • Durante o visibility timeout period, é possível excluir a mensagem.

  • Após o fim do visibility timeout period, a mensagem volta ao estado ativo. Outros consumidores podem consumi-la, o que invalida o receipt handle.

  • Excluir uma mensagem com um receipt handle inválido gera o erro "message not exist".

Solução

Defina o VisibilityTimeout para um valor que garanta tempo suficiente para processar e excluir as mensagens, e exclua a mensagem na próxima vez que for recebida. Considere as seguintes contrapartidas:

  • Um valor muito pequeno pode não fornecer tempo suficiente para excluir a mensagem antes de o receipt handle expirar.

  • Por outro lado, um valor muito alto para VisibilityTimeout atrasa o reprocessamento após uma tentativa com falha.