Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):SendMessage

Última atualização: Jun 27, 2026

Envia uma mensagem para uma fila especificada.

Observações de uso

  • Codifique o corpo da mensagem em Base64 antes do envio. Mensagens com corpos não codificados em Base64 ou caracteres incompatíveis causam falha na requisição.

  • Mensagens enviadas sem atraso ficam imediatamente disponíveis para consumo. Para adiar o consumo, defina DelaySeconds com um valor maior que 0. A mensagem assume o status Delayed e transita para Active após o período de atraso especificado.

  • Se você definir DelaySeconds tanto no nível da mensagem quanto no nível da fila, o valor do nível da mensagem terá precedência.

Autorização

Por padrão, apenas a conta Alibaba Cloud pode chamar esta operação. Para permitir que um usuário RAM chame esta operação, conceda as permissões necessárias. Para mais informações, consulte Políticas de permissão e exemplos.

Nome

Valor

API

SendMessage

Ação

mns:SendMessage

Recurso

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

Sintaxe da requisição

POST /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.<region>.aliyuncs.com
Date: <date>
Content-Length: <content-length>
Content-Type: text/xml;charset=utf-8
x-mns-version: 2015-06-06
Authorization: MNS <AccessKeyId>:<Signature>
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
    <MessageBody>Base64-encoded message content</MessageBody>
    <DelaySeconds>0</DelaySeconds>
    <Priority>1</Priority>
</Message>

Cabeçalhos de requisição específicos da operação: Nenhum.

Parâmetros do corpo da requisição

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

MessageBody

String

Sim

This is a test message

Corpo da mensagem. Codifique este valor em Base64 antes do envio.

DelaySeconds

Integer

Não

60

Período em segundos antes que a mensagem fique disponível para consumo. Valores válidos: 0 a 604800. Valor padrão: 0.

Sintaxe da resposta

HTTP/1.1 201 Created
Content-Length: <content-length>
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"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
    <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
    <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
    <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</Message>

Cabeçalhos de resposta específicos da operação: Nenhum.

Parâmetros do corpo da resposta

Parâmetro

Tipo

Exemplo

Descrição

MessageId

String

5F290C926D472878-2-14D9529A8FA-20000****

ID exclusivo da mensagem na fila.

MessageBodyMD5

String

C5DD56A39F5F7BB8B3337C6D11B6****

Hash MD5 do corpo da mensagem. Use este valor para verificar a integridade da mensagem.

ReceiptHandle

String

1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==

Handle de recebimento da mensagem. Retornado apenas para mensagens com atraso.

Exemplos

Enviar uma mensagem com atraso

A requisição a seguir envia uma mensagem com atraso de 60 segundos para uma fila. A mensagem assume o status Delayed e torna-se consumível após 60 segundos.

Requisição

POST /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 18 Mar 2012 12:00:00 GMT
Content-Length:500
Content-Type:text/xml;charset=utf-8
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEX****
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
    <MessageBody>This is a test message</MessageBody>
    <DelaySeconds>60</DelaySeconds>
    <Priority>1</Priority>
</Message>

Resposta

HTTP/1.1 201 Created
Content-Length:120
Content-Type:text/xml;charset=utf-8
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-14D9529****-200000001</MessageId>
    <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
    <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</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 Códigos de erro comuns.

Código de erro

Mensagem de erro

Código de status HTTP

Descrição

Solução

QueueNotExist

The queue name you provided is not exist.

404

A fila especificada não existe.

Verifique o nome da fila e crie-a se ela não existir.

MalformedXML

The XML you provided was not well-formed.

400

O corpo da requisição contém XML inválido.

Verifique o formato do XML e garanta que ele esteja em conformidade com a sintaxe da requisição.

InvalidArgument

The value of Element should between Low and High seconds/bytes.

400

Um valor de parâmetro está fora do intervalo permitido.

Verifique se DelaySeconds está entre 0 e 604800 e se todos os valores dos parâmetros estão dentro dos intervalos válidos.

Veja também