Tous les produits
Search
Centre de documentation

Object Storage Service:DeleteMultipleObjects

Dernière mise à jour :Aug 18, 2026

Supprime plusieurs objets d'un compartiment en une seule requête.

Remarques sur l'utilisation

  • Une seule requête DeleteMultipleObjects peut supprimer jusqu'à 1 000 objets.

  • Si la réplication des données est configurée avec l'option Sync Additions, Deletions, And Modifications, DeleteMultipleObjects supprime également les objets correspondants dans le compartiment de destination. Les objets supprimés ne peuvent pas être récupérés. Lorsque le versioning est activé, DeleteMultipleObjects crée un marqueur de suppression pour chaque objet ; cette action est répliquée vers le compartiment de destination.

  • Les objets supprimés ne peuvent pas être récupérés. Procédez avec prudence. Pour plus d'informations sur la suppression d'objets, consultez la rubrique Suppression d'objets.

Versioning

Dans un compartiment pour lequel le versioning est activé, DeleteMultipleObjects insère un marqueur de suppression lorsqu'aucun ID de version n'est spécifié. Si un ID de version est indiqué, cette version est définitivement supprimée.

Autorisations

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via des stratégies RAM ou une stratégie de compartiment.

API

Action

Description

DeleteMultipleObjects

oss:DeleteObject

Supprime plusieurs objets d'un compartiment.

Syntaxe de la requête

POST /?delete HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: ContentLength
Content-MD5: MD5Value
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
  <Quiet>true</Quiet>
  <Object>
    <Key>key</Key>
  </Object>
…
</Delete>

En-têtes de requête

OSS utilise ces en-têtes pour vérifier le corps du message avant d'exécuter l'opération de suppression.

Nom

Type

Obligatoire

Exemple

Description

Encoding-type

String

Non

url2

La méthode d'encodage des clés d'objet. Si une clé contient des caractères de contrôle non pris en charge par XML 1.0, définissez ce paramètre sur url2. OSS encode alors l'URL du champ Key dans la réponse.

Valeur par défaut : none

Valeur valide : url2

Content-Length

String

Oui

151

La longueur du corps du message HTTP.

OSS vérifie le corps par rapport à cette valeur avant la suppression.

Content-MD5

String

Oui

ohhnqLBJFiKkPSBO1eNaUA==

Le hachage MD5 encodé en Base64 du corps du message. OSS calcule et compare cette valeur pour vérifier l'intégrité.

Remarque

Pour calculer cette valeur : calculez le hachage MD5 du corps de la requête afin d'obtenir un tableau d'octets de 128 bits, puis encodez-le en Base64.

Éléments de requête

Nom

Type

Obligatoire

Exemple

Description

Delete

Container

Oui

N/A

Le conteneur pour la requête DeleteMultipleObjects.

Nœuds enfants : un ou plusieurs éléments Object et l'élément Quiet

Nœud parent : aucun

Object

Container

Oui

N/A

Le conteneur contenant les informations relatives à un objet.

Nœud enfant : Key

Nœud parent : Delete

Key

String

Oui

test.jpg

Le nom de l'objet à supprimer.

Nœud parent : Object

Quiet

Enumeration string

Non

false

Contrôle le mode de réponse.

Modes de réponse disponibles :

  • Mode simple (quiet) : OSS ne renvoie pas de corps de message.

  • Mode détaillé (verbose) : OSS renvoie le résultat de la suppression pour chaque objet. Il s'agit du mode par défaut.

Valeurs valides : true (active le mode simple) et false (active le mode détaillé)

Valeur par défaut : false

Nœud parent : Delete

VersionId

String

Non

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****

Le numéro de version de l'objet à supprimer.

Nœud parent : Object

Éléments de réponse

Nom

Type

Exemple

Description

DeleteResult

Container

N/A

Le conteneur pour le résultat de la requête DeleteMultipleObjects.

Nœud enfant : Deleted

Nœud parent : aucun

Deleted

Container

N/A

Le conteneur pour chaque objet supprimé avec succès.

Important

L'élément Deleted répertorie uniquement les objets supprimés avec succès. Comparez la liste de la requête avec la réponse pour identifier les échecs.

Nœud enfant : Key

Nœud parent : DeleteResult

Key

String

demo.jpg

Le nom de l'objet supprimé.

Nœud parent : Deleted

VersionId

String

version_20211101141621_d137

L'ID de version.

Nœud parent : Deleted

DeleteMarker

Boolean

true

Indique si la version supprimée est un marqueur de suppression. Valeurs valides : true et false.

Remarque

Renvoyé comme true uniquement lorsqu'un marqueur de suppression est créé ou définitivement supprimé.

Nœud parent : Deleted

DeleteMarkerVersionId

String

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****

L'ID de version du marqueur de suppression.

Nœud parent : Deleted

EncodingType

String

url2

Le type d'encodage des noms d'objets dans la réponse. Renvoyé uniquement lorsque Encoding-type est spécifié dans la requête.

Nœud parent : DeleteResult

Exemples

  • Exemple de requête avec le mode de réponse simple désactivé

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Feb 2012 12:26:16 GMT
    Content-Length:151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </Object> 
    </Delete>

    Exemple de réponse

    HTTP/1.1 200 OK
    x-oss-request-id: 78320852-7eee-b697-75e1-b6db0f4849e7
    Date: Wed, 29 Feb 2012 12:26:16 GMT
    Content-Length: 244
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>multipart.data</Key>
        </Deleted>
        <Deleted>
           <Key>test.jpg</Key>
        </Deleted>
        <Deleted>
           <Key>demo.jpg</Key>
        </Deleted>
    </DeleteResult>
  • Exemple de requête avec le mode de réponse simple activé

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Feb 2012 12:33:45 GMT
    Content-Length:151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>true</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </Object> 
    </Delete>

    Exemple de réponse

    HTTP/1.1 200 OK
    x-oss-request-id: 559CC9BDC755F95A64485981
    Date: Wed, 29 Feb 2012 12:33:45 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • Exemple de requête sans ID de version

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 04:20:03 GMT
    Content-MD5: xSLOYWaPC86RPwWXNiFeXg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>
    </Delete>

    Exemple de réponse

    Étant donné qu'aucun ID de version n'est spécifié, OSS insère des marqueurs de suppression pour les deux objets et renvoie <DeleteMarker>true</DeleteMarker> et <DeleteMarkerVersionId>XXXXXX</DeleteMarkerVersionId>.

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC1D73B7AEADE01700****
    Date: Tue, 09 Apr 2019 04:20:03 GMT
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult>
        <Deleted>
           <Key>multipart.data</Key>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>CAEQMhiBgIDXiaaB0BYiIGQzYmRkZGUxMTM1ZDRjOTZhNjk4YjRjMTAyZjhl****</DeleteMarkerVersionId>
        </Deleted>
        <Deleted>
           <Key>test.jpg</Key>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>CAEQMhiBgIDB3aWB0BYiIGUzYTA3YzliMzVmNzRkZGM5NjllYTVlMjYyYWEy****</DeleteMarkerVersionId>
        </Deleted>
    </DeleteResult>
  • Exemple de requête avec un ID de version

    Remarque

    Vous devez spécifier à la fois Key et VersionId.

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:09:34 GMT
    Content-Length:151
    Content-MD5: 2Tpk+dL/tGyuSA+YCEuSVg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
      </Object>
    </Delete>

    Exemple de réponse

    L'exemple suivant montre que la clé et l'ID de version de l'objet supprimé sont renvoyés.

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC371EB7AEADE01700****
    Date: Tue, 09 Apr 2019 06:09:34 GMT
    Content-Length: 244
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>multipart.data</Key>
           <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
        </Deleted>
    </DeleteResult>
  • Exemple de requête pour supprimer un marqueur de suppression en spécifiant un ID de version

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:14:50 GMT
    Content-Length: 178
    Content-MD5: dX9IFePFgYhmINvAhG30Bg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
      </Object>
    </Delete>

    Exemple de réponse

    • Key et VersionId identifient l'objet supprimé.

    • Les éléments DeleteMarker et DeleteMarkerVersionId confirment que l'élément supprimé est un marqueur de suppression. Dans ce cas, VersionId et DeleteMarkerVersionId ont la même valeur.

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC385AB7AEADE01700****
    Date: Tue, 09 Apr 2019 06:14:50 GMT
    Content-Length: 364
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>demo.jpg</Key>
           <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</DeleteMarkerVersionId>
        </Deleted>
    </DeleteResult>

SDK

Vous pouvez appeler DeleteMultipleObjects à l'aide des SDK suivants :

Outil de ligne de commande ossutil

La commande ossutil correspondante est delete-multiple-objects.

Références

  • Pour supprimer un seul objet, utilisez DeleteObject.

  • Pour obtenir des informations sur la suppression automatique d'objets, consultez la rubrique Cycle de vie.

Codes d'erreur

Code d'erreur

Code d'état HTTP

Description

InvalidDigest

400

La valeur Content-MD5 calculée par OSS ne correspond pas à la valeur de l'en-tête de requête Content-MD5.

MalformedXML

400

  • Le corps du message dépasse 2 Mo.

  • Plus de 1 000 objets sont spécifiés dans une seule requête DeleteMultipleObjects.

FileImmutable

409

Le compartiment est protégé par une stratégie de rétention. Les données protégées ne peuvent pas être supprimées ni modifiées.