Tous les produits
Search
Centre de documentation

Simple Message Queue (formerly MNS):BatchDeleteMessage

Dernière mise à jour :Aug 21, 2026

Supprime plusieurs messages d'une file d'attente.

Autorisation

Par défaut, seuls les comptes Alibaba Cloud peuvent appeler cette opération. Les utilisateurs RAM ne peuvent l'appeler qu'après avoir reçu les autorisations appropriées. Le tableau suivant décrit les informations d'autorisation de cette opération. Pour plus d'informations, consultez la rubrique Politiques et exemples d'autorisation.

Élément

Valeur

Opération API

BatchDeleteMessage

Action

mns:BatchDeleteMessage

Ressource

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

Description

Cette opération supprime plusieurs messages d'une file d'attente. Vous pouvez supprimer jusqu'à 16 messages à la fois. La requête doit inclure le descripteur de réception (receipt handle) de chaque message à supprimer.

Nous vous recommandons d'utiliser cette opération conjointement avec l'opération BatchReceiveMessage pour améliorer l'efficacité. Une requête de suppression multiple comprend plusieurs sous-requêtes, dont certaines peuvent échouer. Le code d'état HTTP 204 n'est renvoyé que si toutes les sous-requêtes aboutissent. En cas d'échec partiel, examinez le message d'erreur présent dans chaque réponse.

Requête

Une requête se compose des éléments suivants :

  • Ligne de requête

    DELETE /queues/$queueName/messages HTTP/1.1

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

    Aucun.

  • Corps de la requête

    Le corps de la requête est au format XML. Il doit contenir le descripteur de réception de chaque message à supprimer.

Réponse

Une réponse se compose des éléments suivants :

  • Code d'état HTTP

    HTTP/1.1 204 NoContent

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

    Aucun.

  • Corps de la réponse

    Aucun.

Exemples

Exemple de requête

DELETE  /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA****

<?xml version="1.0" encoding="UTF-8"?>
<ReceiptHandles xmlns="http://mns.aliyuncs.com/doc/v1/">
    <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
    <ReceiptHandle>1-ODU4OTkzNDU5NC0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
    <ReceiptHandle>1-ODU4OTkzNDU5NS0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</ReceiptHandles>            

Exemples de réponses

  • Exemple de réponse en cas de succès (tous les messages sont supprimés)

        HTTP/1.1 204 No Content
        x-mns-request-id:512B2A634403E52B1956****
        x-mns-version: 2015-06-06                  
  • Exemple de réponse en cas d'échec partiel (certains messages ne sont pas supprimés)

        HTTP/1.1 404
        Connection:close
        Content-Type=text/xml;charset=utf-8
        Content-Length:500
        x-mns-request-id:512B2A634403E52B1956****
        x-mns-version: 2015-06-06
    
        <?xml version="1.0" encoding="UTF-8"?>
        <Errors xmlns="http://mns.aliyuncs.com/doc/v1/">
        <Error>
            <ErrorCode>MessageNotExist</ErrorCode>
            <ErrorMessage>Message not exist.</ErrorMessage>
            <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
        </Error>
        <Error>
            <ErrorCode>MessageNotExist</ErrorCode>
            <ErrorMessage>Message not exist.</ErrorMessage>
            <ReceiptHandle>1-ODU4OTkzNDU5NC0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
        </Error>
        </Errors>                    

Codes d'erreur

Code d'erreur Code d'état HTTP Message d'erreur Description
QueueNotExist 404 The queue name you provided does not exist. La file d'attente spécifiée n'existe pas. Vérifiez le nom de la file d'attente dans l'URI de la requête.
InvalidArgument 400 The value of Element should between Low and High seconds/bytes. La valeur d'un paramètre est hors plage. Vérifiez les paramètres de la requête par rapport aux plages de valeurs autorisées.
ReceiptHandleError 400 The receipt handle you provided is not valid. Le descripteur de réception a expiré car l'instant NextVisibleTime est dépassé, ou un descripteur obsolète a été utilisé. Consommez à nouveau le message pour obtenir un nouveau descripteur de réception.