Todos os produtos
Search
Central de documentação

:QueueMessage

Última atualização: Jul 04, 2026

QueueMessage especifica as mensagens enviadas para filas do Simple Message Queue (formerly MNS). Ao enviar uma mensagem para uma fila do SMQ, especifique o corpo, o período de atraso e a prioridade. Este tópico descreve os parâmetros, os tipos e o status das mensagens de fila.

Parâmetros

  • MessageId

    • ID da mensagem.

    • O sistema retorna este parâmetro ao chamar as operações SendMessage, BatchSendMessage, ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

    • Cada mensagem em uma fila possui um ID exclusivo.

    • Ao enviar uma mensagem para uma fila, o SMQ gera um ID para ela. Após a geração, esse ID não pode ser alterado. Use o ID da mensagem para verificação de dados.

  • NextVisibleTime

    • Momento em que a mensagem pode ser consumida. Este valor é um timestamp UNIX que representa os milissegundos decorridos desde a época 1º de janeiro de 1970, 00:00:00 UTC.

    • O sistema retorna este parâmetro nas chamadas das operações ReceiveMessage, BatchReceiveMessage ou ChangeMessageVisibility.

  • ReceiptHandle

    • Identificador de recebimento da mensagem.

    • Obtido ao executar as operações ReceiveMessage, BatchReceiveMessage ou ChangeMessageVisibility.

    • Use este identificador para modifique ou exclua mensagens no estado Inactive. Ele permanece válido até o horário definido pelo parâmetro NextVisibleTime. Se você usar o identificador após esse prazo, o SMQ retornará o erro MessageNotExist.

    • Cada identificador tem uso único. Se o status da mensagem associada mudar, o identificador expirará imediatamente.

  • MessageBody

    • Corpo da mensagem.

    • Disponível no retorno das operações ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

  • MessageBodyMD5

    • Hash MD5 do corpo da mensagem.

    • Incluído na resposta das operações SendMessage, BatchSendMessage, ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

  • EnqueueTime

    • Horário de envio da mensagem para a fila. Representado por um timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC.

    • Fornecido ao invocar ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

  • FirstDequeueTime

    • Data e hora do primeiro consumo da mensagem. Segue o formato de timestamp UNIX (milissegundos desde 01/01/1970 00:00:00 UTC).

    • Retornado pelas operações ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

    • Se a mensagem nunca foi consumida, este valor será idêntico ao do parâmetro EnqueueTime.

  • DequeueCount

    • Número total de vezes que a mensagem foi consumida.

    • Presente nas respostas de ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

  • Priority

    • Prioridade da mensagem. Valores válidos: 1 a 16, onde 1 representa a maior prioridade.

    • Este campo aparece ao usar ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.

    • Em filas com mensagens de prioridades distintas, aquelas com valores mais altos tendem a ser consumidas primeiro durante a operação ReceiveMessage.

    • Devido ao recurso de distribuição de dados (striping), o SMQ não garante a ordem exata de consumo das mensagens.

Tipos de mensagem

Mensagens atrasadas

  • Mensagens atrasadas enviadas a uma fila só ficam disponíveis para consumo após o término do período configurado no parâmetro DelaySeconds.

  • Defina o parâmetro DelaySeconds diretamente na fila ou especifique-o ao chamar SendMessage ou BatchSendMessage.

Status da mensagem

  • Uma mensagem padrão enviada a uma fila padrão inicia no estado Active. Ao ser recebida, passa para Inactive e assim permanece durante o intervalo definido por VisibilityTimeout. Se não for consumida nesse prazo, volta ao estado Active; se for excluída, assume o estado Deleted.

  • Mensagens padrão em filas com atraso começam no estado Delayed. Quando o tempo de DelaySeconds expira, elas transitam para Active.

  • Ao enviar uma mensagem atrasada para qualquer fila, ela permanece como Delayed até que o período de DelaySeconds termine, momento em que se torna Active.

  • O parâmetro MessageRetentionPeriod determina a retenção máxima da mensagem na fila. Ultrapassado esse limite, o status muda para Expired e o coletor de lixo recicla a mensagem.

  • Somente mensagens no estado Active podem ser recebidas.