Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):ReceiveMessage

Última atualização: Jun 27, 2026

Recebe uma mensagem de uma fila e a define como Inativa durante o período de VisibilityTimeout da fila. Chame DeleteMessage antes que esse período expire para remover a mensagem permanentemente. Se você não a excluir a tempo, a mensagem retornará ao estado Ativo e ficará disponível para consumo novamente.

Informações de autorização

Por padrão, apenas uma conta Alibaba Cloud pode chamar esta operação. Para chamá-la como usuário do Resource Access Management (RAM), conceda as permissões necessárias ao usuário RAM. Para obter mais informações, consulte Políticas de permissão e exemplos.

Item

Valor

Operação de API

ReceiveMessage

Ação

mns:ReceiveMessage

Recurso

acs:mns:$region:$accountid:/queues/$queueName/messages

Sintaxe da solicitação

GET /queues/$queueName/messages?waitseconds=10 HTTP/1.1

Esta operação não tem cabeçalhos ou corpo de solicitação específicos.

Parâmetros de URI

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

waitseconds

Integer

Não

0

Tempo máximo de espera em segundos quando nenhuma mensagem estiver disponível. Se omitido, aplica-se o valor de PollingWaitSeconds da fila. Para obter mais informações, consulte CreateQueue.

Comportamento de long polling

Quando waitseconds está definido (ou o valor padrão da fila PollingWaitSeconds se aplica), o servidor mantém a conexão aberta até a chegada de uma mensagem ou o fim do período de espera. O sistema entrega imediatamente qualquer mensagem gravada na fila durante esse intervalo.

Recomendamos reduzir o número de solicitações simultâneas de long polling e especifique um período de espera adequado. Para obter mais informações, consulte Short polling e long polling.

Nota

O Simple Message Queue (SMQ, anteriormente MNS) limita as solicitações simultâneas de long polling com base no total de solicitações, nos períodos de espera e nos endereços IP de source. Ao exceder esse limite, o SMQ retorna imediatamente um erro 404 MessageNotExist sem reter a solicitação, e as cobranças padrão se aplicam. Para aumentar esse limite, envie um ticket.

Resposta

Código de status HTTP

HTTP/1.1 200 OK

Esta operação não tem cabeçalhos de resposta específicos.

Corpo da resposta

O corpo da resposta está em formato XML e contém:

  • Corpo da mensagem e respectivo hash MD5

  • ID exclusivo da mensagem

  • Receipt handle para exclua ou modificar a mensagem enquanto ela estiver Inativa

  • Carimbos de data/hora: hora de enfileiramento, primeiro desenfileiramento e próxima visibilidade

  • Contagem de desenfileiramentos

Parâmetro

Tipo

Exemplo

Descrição

MessageId

String

5F290C926D472878-2-14D9529A8FA-20000\\\\

Identificador exclusivo da mensagem na fila.

ReceiptHandle

String

1-ODU4OTkzNDU5My0xNDMyNzI3ODI3LTItOA==

Handle para exclua ou modificar a mensagem enquanto ela estiver Inativa. Use este valor ao chamar DeleteMessage ou ChangeMessageVisibility. Válido até NextVisibleTime.

MessageBody

String

This is a test message

Conteúdo da mensagem.

MessageBodyMD5

String

C5DD56A39F5F7BB8B3337C6D11B6\\\\

Hash MD5 do corpo da mensagem.

EnqueueTime

Long

1250700979248

Momento de envio da mensagem para a fila. Timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC.

NextVisibleTime

Long

1250700799348

Momento em que a mensagem se torna visível novamente caso não seja excluída. Timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC.

FirstDequeueTime

Long

1250700779318

Momento do primeiro consumo da mensagem. Timestamp UNIX em milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC.

DequeueCount

Integer

1

Número de vezes que a mensagem foi consumida.

Exemplos

Exemplo de solicitação

GET /queues/$queueName/messages 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
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>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
    <ReceiptHandle>1-ODU4OTkzNDU5My0xNDMyNzI3ODI3LTItOA==</ReceiptHandle>
    <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
    <MessageBody>This is a test message</MessageBody>
    <EnqueueTime>1250700979248</EnqueueTime>
    <NextVisibleTime>1250700799348</NextVisibleTime>
    <FirstDequeueTime>1250700779318</FirstDequeueTime>
    <DequeueCount>1</DequeueCount>
    <Priority>8</Priority>
</Message>

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. Crie uma fila antes de chamar esta operação.

MessageNotExist

Message not exist.

404

Não há mensagens visíveis na fila.

Próximos passos