Todos los productos
Search
Centro de documentos

Simple Message Queue (formerly MNS):SendMessage

Última actualización: Sep 05, 2026

Envía un mensaje a una cola especificada.

Notas de uso

  • Codifique el cuerpo del mensaje en Base64 antes de enviarlo. Los mensajes con cuerpos no codificados en Base64 o con caracteres no admitidos provocan errores en la solicitud.

  • Un mensaje enviado sin retraso está disponible inmediatamente para su consumo. Para diferir el consumo, establezca DelaySeconds en un valor mayor que 0. El mensaje entra en estado Delayed y pasa a Active después del período de retraso especificado.

  • Si establece DelaySeconds tanto a nivel de mensaje como a nivel de cola, el valor a nivel de mensaje tiene prioridad.

Autorización

De forma predeterminada, solo una cuenta de Alibaba Cloud puede llamar a esta operación. Para permitir que un usuario de RAM llame a esta operación, otorgue los permisos obligatorios. Para obtener más información, consulte Permission policies and examples.

Nombre

Valor

API

SendMessage

Acción

mns:SendMessage

Recurso

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

Sintaxis de la solicitud

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>

Encabezados de solicitud específicos de la operación: Ninguna.

Parámetros del cuerpo de la solicitud

Parámetro

Tipo

Obligatorio

Ejemplo

Descripción

MessageBody

String

Sí

This is a test message

El cuerpo del mensaje. Codifique este valor en Base64 antes de enviarlo.

DelaySeconds

Integer

No

60

El período en segundos antes de que el mensaje esté disponible para su consumo. Valores válidos: de 0 a 604800. Valor predeterminado: 0.

Sintaxis de la respuesta

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>

Encabezados de respuesta específicos de la operación: Ninguna.

Parámetros del cuerpo de la respuesta

Parámetro

Tipo

Ejemplo

Descripción

MessageId

String

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

El ID único del mensaje en la cola.

MessageBodyMD5

String

C5DD56A39F5F7BB8B3337C6D11B6****

El hash MD5 del cuerpo del mensaje. Utilice este valor para comprobar la integridad del mensaje.

ReceiptHandle

String

1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==

El identificador de recibo del mensaje. Se devuelve solo para mensajes diferidos.

Ejemplos

Enviar un mensaje diferido

La siguiente solicitud envía un mensaje con un retraso de 60 segundos a una cola. El mensaje entra en estado Delayed y se puede consumir después de 60 segundos.

Solicitud

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>

Respuesta

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 error

A continuación se listan los códigos de error específicos de esta operación. Para consultar los códigos de error comunes, consulte Códigos de error comunes.

Código de error

Mensaje de error

Código de estado HTTP

Descripción

Solución

QueueNotExist

The queue name you provided is not exist.

404

La cola especificada no existe.

Compruebe el nombre de la cola y créela si no existe.

MalformedXML

The XML you provided was not well-formed.

400

El cuerpo de la solicitud contiene XML no válido.

Revise el formato XML y asegúrese de que cumple con la sintaxis de la solicitud.

InvalidArgument

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

400

Un valor de parámetro está fuera del rango permitido.

Compruebe que DelaySeconds esté entre 0 y 604800, y que todos los valores de los parámetros estén dentro de sus rangos válidos.

Consulte también