Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):BatchSendMessage

Última atualização: Jun 27, 2026

Envia até 16 mensagens para uma fila em uma única solicitação. O tamanho total máximo do payload por lote é de 64 KB.

Autorização

Por padrão, apenas contas Alibaba Cloud podem chamar esta operação. Conceda as permissões necessárias aos usuários RAM antes que eles executem esta chamada. Para mais informações, consulte Políticas de permissão e exemplos.

Propriedade

Valor

API

BatchSendMessage

Action

mns:BatchSendMessage

Resource

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

Observações de uso

  • Cada lote suporta até 16 mensagens, com tamanho máximo combinado de 64 KB.

  • Codifique todos os corpos de mensagem em Base64 antes do envio. Essa prática evita erros causados por caracteres especiais no payload XML.

  • Se DelaySeconds for omitido ou definido como 0, as mensagens ficam disponíveis para consumo imediatamente. Para atrasar o consumo, defina DelaySeconds com um valor maior que 0. Mensagens atrasadas entram no estado Delayed e passam para Active após o período especificado.

  • Quando tanto a mensagem quanto a fila definem DelaySeconds, o valor no nível da mensagem tem precedência.

  • Cálculo de QPS: O QPS efetivo de uma fila corresponde à taxa de solicitações multiplicada pelo número de mensagens por lote. Por exemplo, 100 solicitações por segundo com 10 mensagens por lote resultam em 1.000 QPS nessa fila.

Solicitação

Linha de solicitação

POST /queues/$queueName/messages HTTP/1.1

Headers

Esta operação não define headers específicos. Para os headers comuns, consulte o exemplo de solicitação.

Corpo da solicitação

O corpo da solicitação utiliza formato XML. Envolva cada mensagem em um elemento <Message> dentro de um elemento raiz <Messages>.

Parâmetro

Tipo

Obrigatório

Descrição

MessageBody

String

Sim

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

DelaySeconds

Integer

Não

Atraso em segundos antes que a mensagem possa ser consumida. Valores válidos: 0 a 604800. Padrão: 0.

Resposta

Sucesso

HTTP/1.1 201 Created

A resposta contém um elemento <Message> para cada mensagem do lote:

Parâmetro

Tipo

Descrição

MessageId

String

ID exclusivo da mensagem na fila.

MessageBodyMD5

String

Hash MD5 do corpo da mensagem. Compare este valor com um hash calculado localmente para verificar a integridade da mensagem.

Falha parcial

Quando algumas mensagens de um lote falham, a resposta retorna o código de status HTTP 500. O corpo da resposta contém uma mistura de entradas bem-sucedidas e com falha:

  • Mensagens bem-sucedidas incluem MessageId e MessageBodyMD5.

  • Mensagens com falha incluem ErrorCode e ErrorMessage em vez disso.

Exemplos

Enviar duas mensagens com valores de atraso diferentes

Solicitaçã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+FIEXA****
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Message>
        <MessageBody>This is test message 1.</MessageBody>
        <DelaySeconds>60</DelaySeconds>
        <Priority>1</Priority>
    </Message>
    <Message>
        <MessageBody>This is test message 2.</MessageBody>
        <DelaySeconds>0</DelaySeconds>
        <Priority>1</Priority>
    </Message>
</Messages>

Resposta: todas as mensagens enviadas

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"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Message>
        <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
        <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
    </Message>
    <Message>
        <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
        <MessageBodyMD5>377AC5283D8765C9CEE4E0EA353D****</MessageBodyMD5>
    </Message>
</Messages>

Resposta: falha parcial

Quando uma ou mais mensagens falham, a resposta retorna HTTP 500. Cada elemento <Message> contém um resultado bem-sucedido ou um erro:

HTTP/1.1 500
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"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Message>
        <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
        <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
    </Message>
    <Message>
        <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
        <MessageBodyMD5>377AC5283D8765C9CEE4E0EA353D****</MessageBodyMD5>
    </Message>
    <Message>
        <ErrorCode>InternalError</ErrorCode>
        <ErrorMessage>Internal error.</ErrorMessage>
    </Message>
</Messages>

Códigos de erro

Código de erro

Mensagem de erro

Status HTTP

Descrição

QueueNotExist

The queue name you provided is not exist.

404

A fila especificada não existe. Crie a fila antes de enviar mensagens.

MalformedXML

The XML you provided was not well-formed.

400

O corpo da solicitação contém XML inválido. Verifique a estrutura e a codificação do XML.

InvalidArgument

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

400

Um valor de parâmetro está fora do intervalo permitido. Especifique um valor válido conforme indicado.