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. |