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
DelaySecondsen 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
DelaySecondstanto 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 |
|
|
Recurso |
|
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 |
|
El ID único del mensaje en la cola. |
|
MessageBodyMD5 |
String |
|
El hash MD5 del cuerpo del mensaje. Utilice este valor para comprobar la integridad del mensaje. |
|
ReceiptHandle |
String |
|
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 |