Tous les produits
Search
Centre de documentation

Simple Message Queue (formerly MNS):SendMessage

Dernière mise à jour :Aug 10, 2026

Envoie un message vers une file d'attente spécifiée.

Remarques d'utilisation

  • Encodez le corps du message en Base64 avant l'envoi. Les messages dont le corps n'est pas encodé en Base64 ou qui contiennent des caractères non pris en charge entraînent un échec de la requête.

  • Un message envoyé sans délai est immédiatement disponible pour la consommation. Pour différer la consommation, définissez DelaySeconds sur une valeur supérieure à 0. Le message passe au statut Delayed et bascule vers le statut Active après la période de délai spécifiée.

  • Si vous définissez DelaySeconds à la fois au niveau du message et au niveau de la file d'attente, la valeur au niveau du message est prioritaire.

Autorisation

Par défaut, seul un compte Alibaba Cloud peut appeler cette opération. Pour autoriser un utilisateur RAM à appeler cette opération, accordez les permissions requises. Pour plus d'informations, consultez Politiques d'autorisation et exemples.

Nom Valeur
API SendMessage
Action mns:SendMessage
Resource acs:mns:$region:$accountid:/queues/$queueName/messages

Syntaxe de la requête

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>

En-têtes de requête spécifiques à l'opération : Aucun.

Paramètres du corps de la requête

Paramètre Type Obligatoire Exemple Description
MessageBody String Oui This is a test message Corps du message. Encodez cette valeur en Base64 avant l'envoi.
DelaySeconds Integer Non 60 Durée en secondes avant que le message ne soit disponible pour la consommation. Valeurs valides : 0 à 604800. Valeur par défaut : 0.

Syntaxe de la réponse

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>

En-têtes de réponse spécifiques à l'opération : Aucun.

Paramètres du corps de la réponse

Paramètre Type Exemple Description
MessageId String 5F290C926D472878-2-14D9529A8FA-20000**** ID unique du message dans la file d'attente.
MessageBodyMD5 String C5DD56A39F5F7BB8B3337C6D11B6**** Hachage MD5 du corps du message. Utilisez cette valeur pour vérifier l'intégrité du message.
ReceiptHandle String 1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg== Handle de réception du message. Renvoyé uniquement pour les messages différés.

Exemples

Envoyer un message différé

La requête suivante envoie un message avec un délai de 60 secondes vers une file d'attente. Le message passe au statut Delayed et devient consommable après 60 secondes.

Requête

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>

Réponse

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>

Codes d'erreur

Le tableau suivant répertorie les codes d'erreur spécifiques à cette opération. Pour les codes d'erreur courants, consultez Codes d'erreur courants.

Code d'erreur Message d'erreur Code d'état HTTP Description Solution
QueueNotExist The queue name you provided is not exist. 404 La file d'attente spécifiée n'existe pas. Vérifiez le nom de la file d'attente et créez-la si elle n'existe pas.
MalformedXML The XML you provided was not well-formed. 400 Le corps de la requête contient un code XML non valide. Vérifiez le format XML et assurez-vous qu'il est conforme à la syntaxe de la requête.
InvalidArgument The value of Element should between Low and High seconds/bytes. 400 Une valeur de paramètre est hors plage. Vérifiez que DelaySeconds est compris entre 0 et 604800 et que toutes les valeurs de paramètre se situent dans leurs plages valides.

Voir aussi