Visualiza várias mensagens em uma fila sem alterar o estado delas.
Descrição
A operação BatchPeekMessage recupera até 16 mensagens de uma fila em uma única solicitação. Essa operação não é destrutiva: as mensagens permanecem no estado Active e continuam disponíveis para que outros consumidores as visualizem ou recebam.
Diferentemente da [BatchReceiveMessage], que move as mensagens para o estado Inactive e as oculta de outros consumidores durante o período de VisibilityTimeout, a BatchPeekMessage mantém todos os estados das mensagens inalterados.
Autorização
Por padrão, apenas contas Alibaba Cloud podem chamar essa operação. Usuários RAM precisam receber as permissões necessárias antes de executá-la. Para mais detalhes, consulte Políticas de permissão e exemplos.
|
Item |
Valor |
|
Operação de API |
BatchPeekMessage |
|
Ação |
|
|
Recurso |
|
Sintaxe da solicitação
GET /queues/$queueName/messages?peekonly=true&numOfMessages=<num> HTTP/1.1
Host: $AccountId.mns.<region>.aliyuncs.com
Date: <date>
x-mns-version: 2015-06-06
Authorization: MNS <AccessKeyId>:<Signature>
Parâmetros de URI
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
peekonly |
Boolean |
Sim |
true |
Fixo como |
|
numOfMessages |
Integer |
Não |
16 |
Número máximo de mensagens que podem ser visualizadas por vez. |
Cabeçalhos da solicitação
Não há cabeçalhos específicos para esta operação. Para cabeçalhos comuns, consulte [Parâmetros comuns].
Corpo da solicitação
Nenhum.
Sintaxe da resposta
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
x-mns-request-id: <request-id>
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
<Message>
<MessageId>...</MessageId>
<MessageBodyMD5>...</MessageBodyMD5>
<MessageBody>...</MessageBody>
<EnqueueTime>...</EnqueueTime>
<FirstDequeueTime>...</FirstDequeueTime>
<DequeueCount>...</DequeueCount>
<Priority>...</Priority>
</Message>
<!-- Additional <Message> elements -->
</Messages>
Parâmetros da resposta
O corpo da resposta está no formato XML. Cada elemento <Message> contém os seguintes campos:
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
MessageId |
String |
D6D5F7C9C12D14A4-1-14D953EFC72-20000**** |
Identificador exclusivo da mensagem na fila. |
|
MessageBody |
String |
This is a test message. |
Corpo da mensagem. |
|
MessageBodyMD5 |
String |
F9360F391579E71CA77BC5D50242**** |
Hash MD5 do corpo da mensagem. |
|
EnqueueTime |
Long |
1250700979248 |
Momento em que a mensagem entrou na fila. Timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC. |
|
FirstDequeueTime |
Long |
1250700979348 |
Momento em que a mensagem foi consumida pela primeira vez. Timestamp UNIX em milissegundos. Igual a |
|
DequeueCount |
Integer |
5 |
Número total de vezes que a mensagem foi consumida. |
|
Priority |
Integer |
8 |
Prioridade da mensagem. |
Exemplos
Exemplo de solicitação
GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 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"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
<Message>
<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>
<Message>
<MessageId>B4D5E8A7F23C19B5-2-15E064AFC83-30001****</MessageId>
<MessageBodyMD5>A1B2C3D4E5F6A7B8C9D0E1F2A3B4****</MessageBodyMD5>
<MessageBody>This is a test message.</MessageBody>
<EnqueueTime>1250700979250</EnqueueTime>
<FirstDequeueTime>1250700979352</FirstDequeueTime>
<DequeueCount>5</DequeueCount>
<Priority>8</Priority>
</Message>
</Messages>
Códigos de erro
|
Código de erro |
Mensagem de erro |
Código de status HTTP |
Descrição |
|
QueueNotExist |
The queue name you provided is not exist. |
404 |
A fila especificada não existe. Verifique o nome da fila ou crie a fila antes de continuar. |
|
MessageNotExist |
Message not exist. |
404 |
Não há mensagens visíveis na fila. |
Veja também
BatchReceiveMessage: Recebe e consome várias mensagens de uma fila. As mensagens entram no estado Inactive após o recebimento.
BatchDeleteMessage: Exclui várias mensagens consumidas de uma fila.
Políticas de permissão e exemplos: Configure o controle de acesso para operações do MNS.