Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):Simple Message Queue (anteriormente MNS): PeekMessage

Última atualização: Jun 27, 2026

Visualiza uma mensagem em uma fila sem alterar seu estado.

Descrição

PeekMessage recupera uma mensagem da fila especificada somente para inspeção. Diferentemente de ReceiveMessage, esta operação não altera o estado da mensagem — a mensagem permanece no estado Active e continua disponível para outros consumidores.

Para cada mensagem retornada, a resposta inclui:

  • O corpo da mensagem e seu hash MD5

  • O ID da mensagem, exclusivo dentro da fila

  • A prioridade da mensagem

  • O timestamp de enfileiramento

  • O timestamp do primeiro desenfileiramento e a contagem total de desenfileiramentos

PeekMessage não retorna um ReceiptHandle. Sem um receipt handle, não é possível excluir a mensagem nem alterar seu timeout de visibilidade. Para consumir e remover uma mensagem da fila, use ReceiveMessage.

PeekMessage vs. ReceiveMessage

ComportamentoPeekMessageReceiveMessage
Estado da mensagem após a chamadaPermanece ActiveMuda para Inactive
Visibilidade para outros consumidoresAinda visívelOculta durante o período de VisibilityTimeout
ReceiptHandle na respostaNãoSim
Pode excluir a mensagem após a chamadaNãoSim (com ReceiptHandle)

Autorização

Por padrão, somente contas do Alibaba Cloud podem chamar esta operação. Usuários RAM precisam ter as permissões necessárias concedidas. Para mais informações, consulte Políticas de permissão e exemplos.

ItemValor
Operação de APIPeekMessage
Açãomns:PeekMessage
Recursoacs:mns:$region:$accountid:/queues/$queueName/messages

Sintaxe da solicitação

GET /queues/$queueName/messages?peekonly=true HTTP/1.1

Parâmetros de URI

ParâmetroObrigatórioDescrição
peekonlySimDeve ser true. Visualiza a mensagem sem alterar seu estado.

Cabeçalhos de solicitação

Sem cabeçalhos específicos da operação. Somente os cabeçalhos de solicitação comuns são obrigatórios.

Corpo da solicitação

Nenhum.

Resposta

Código de status HTTP

Uma solicitação bem-sucedida retorna HTTP/1.1 200 OK.

Cabeçalhos de resposta

Sem cabeçalhos específicos da operação. Somente os cabeçalhos de resposta comuns são retornados.

Corpo da resposta

O corpo da resposta está no formato XML e contém os seguintes elementos:

ParâmetroTipoExemploDescrição
MessageIdStringD6D5F7C9C12D14A4-1-14D953EFC72-20000****O ID exclusivo da mensagem dentro da fila.
MessageBodyStringThis is a test message.O corpo da mensagem.
MessageBodyMD5StringF9360F391579E71CA77BC5D50242****O hash MD5 do corpo da mensagem.
EnqueueTimeLong1250700979248O horário em que a mensagem foi enviada para a fila. Timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC.
FirstDequeueTimeLong1250700979348O horário em que a mensagem foi desenfileirada pela primeira vez. Timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC. Se DequeueCount for 0, este valor será igual a EnqueueTime.
DequeueCountInteger5O número total de vezes que a mensagem foi desenfileirada.
PriorityInteger8A prioridade da mensagem.
Diferentemente de ReceiveMessage, a resposta de PeekMessage não inclui um elemento ReceiptHandle.

Exemplos

Exemplo de solicitação

GET /queues/$queueName/messages?peekonly=true HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA****

Exemplo de resposta

HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml;charset=utf-8
Content-Length: 500
x-mns-request-id: 512B2A634403E52B1956****
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
    <MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-20000****</MessageId>
    <MessageBodyMD5>F9360F391579E71CA77BC5D50242****</MessageBodyMD5>
    <MessageBody>This is a test message.</MessageBody>
    <EnqueueTime>1250700979248</EnqueueTime>
    <FirstDequeueTime>1250700979348</FirstDequeueTime>
    <DequeueCount>5</DequeueCount>
    <Priority>8</Priority>
</Message>

Códigos de erro

A tabela a seguir lista os códigos de erro específicos desta operação. Para códigos de erro comuns, consulte Respostas de erro.

Código de erroCódigo de status HTTPMensagem de erroDescrição
QueueNotExist404The queue name you provided is not exist.A fila especificada não existe. Verifique o nome e a região da fila, ou crie a fila primeiro.
MessageNotExist404Message not exist.Nenhuma mensagem disponível para visualização. A fila está vazia ou todas as mensagens estão no estado Inactive (consumidas, mas ainda não excluídas).