Todos los productos
Search
Centro de documentos

Object Storage Service:DeleteMultipleObjects

Última actualización: Sep 03, 2026

Elimina varios objetos de un bucket en una sola solicitud.

Notas de uso

  • Una sola solicitud de DeleteMultipleObjects puede eliminar hasta 1,000 objetos.

  • Si la replicación de datos está configurada con Sync Additions, Deletions, And Modifications, DeleteMultipleObjects también elimina los objetos correspondientes en el bucket de destino. Los objetos eliminados no se pueden recuperar. Con el control de versiones habilitado, DeleteMultipleObjects crea un marcador de eliminación para cada objeto y esta acción se replica en el bucket de destino.

  • Los objetos eliminados no se pueden recuperar. Proceda con precaución. Para obtener más información sobre cómo eliminar objetos, consulte Delete objects.

Control de versiones

En un bucket con control de versiones habilitado, DeleteMultipleObjects inserta un marcador de eliminación cuando no se especifica ningún ID de versión. Si se especifica un ID de versión, dicha versión se elimina permanentemente.

Permisos

De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios de RAM o los roles de RAM bajo una cuenta de Alibaba Cloud no tienen ningún permiso de forma predeterminada. La cuenta de Alibaba Cloud o el administrador de la cuenta deben otorgar permisos de operación mediante RAM policies o Bucket Policy.

API

Acción

Descripción

DeleteMultipleObjects

oss:DeleteObject

Elimina varios objetos de un bucket.

Sintaxis de la solicitud

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>

Encabezados de la solicitud

OSS utiliza estos encabezados para verificar el cuerpo del mensaje antes de realizar la operación de eliminación.

Nombre

Tipo

Obligatorio

Ejemplo

Descripción

Encoding-type

String

No

url2

El método de codificación para las claves de objeto. Si una clave contiene caracteres de control no admitidos por XML 1.0, establezca este valor en url2. OSS codifica entonces el campo Key en la respuesta mediante URL.

Valor predeterminado: none

Valor válido: url2

Content-Length

String

Sí

151

La longitud del cuerpo del mensaje HTTP.

OSS verifica el cuerpo con este valor antes de la eliminación.

Content-MD5

String

Sí

ohhnqLBJFiKkPSBO1eNaUA==

El hash MD5 codificado en Base64 del cuerpo del mensaje. OSS calcula y compara este valor para verificar la integridad.

Nota

Para calcular este valor: calcule el hash MD5 del cuerpo de la solicitud para obtener una matriz de bytes de 128 bits y luego codifíquela en Base64.

Elementos de la solicitud

Nombre

Tipo

Obligatorio

Ejemplo

Descripción

Delete

Contenedor

Sí

N/A

El contenedor para la solicitud DeleteMultipleObjects.

Nodos secundarios: uno o más elementos Object y el elemento Quiet

Nodo principal: None

Object

Contenedor

Sí

N/A

El contenedor para la información de un objeto.

Nodo secundario: Key

Nodo principal: Delete

Key

String

Sí

test.jpg

El nombre del objeto que se va a eliminar.

Nodo principal: Object

Quiet

Cadena de enumeración

No

false

Controla el modo de respuesta.

Modos de respuesta disponibles:

  • Modo simple (quiet): OSS no devuelve un cuerpo de mensaje.

  • Modo detallado (verbose): OSS devuelve el resultado de eliminación para cada objeto. Este es el modo predeterminado.

Valores válidos: true (habilita el modo simple) y false (habilita el modo detallado)

Valor predeterminado: false

Nodo principal: Delete

VersionId

String

No

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****

El número de versión del objeto que se va a eliminar.

Nodo principal: Object

Elementos de la respuesta

Nombre

Tipo

Ejemplo

Descripción

DeleteResult

Contenedor

N/A

El contenedor para el resultado de la solicitud DeleteMultipleObjects.

Nodo secundario: Deleted

Nodo principal: None

Deleted

Contenedor

N/A

El contenedor para cada objeto eliminado correctamente.

Importante

El elemento Deleted solo lista los objetos eliminados correctamente. Compare la lista de la solicitud con la respuesta para identificar fallos.

Nodo secundario: Key

Nodo principal: DeleteResult

Key

String

demo.jpg

El nombre del objeto eliminado.

Nodo principal: Deleted

VersionId

String

version_20211101141621_d137

El ID de versión.

Nodo principal: Deleted

DeleteMarker

Boolean

true

Indica si la versión eliminada es un marcador de eliminación. Valores válidos: true y false.

Nota

Se devuelve como true solo cuando se crea o se elimina permanentemente un marcador de eliminación.

Nodo principal: Deleted

DeleteMarkerVersionId

String

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****

El ID de versión del marcador de eliminación.

Nodo principal: Deleted

EncodingType

String

url2

El tipo de codificación para los nombres de objeto en la respuesta. Se devuelve solo cuando se especifica Encoding-type en la solicitud.

Nodo principal: DeleteResult

Ejemplos

  • Solicitud de ejemplo con el modo de respuesta simple deshabilitado

    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>

    Respuesta de ejemplo

    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>
  • Solicitud de ejemplo con el modo de respuesta simple habilitado

    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>

    Respuesta de ejemplo

    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
  • Solicitud de ejemplo sin un ID de versión

    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>

    Respuesta de ejemplo

    Como no se especifican IDs de versión, OSS inserta marcadores de eliminación para ambos objetos y devuelve <DeleteMarker>true</DeleteMarker> y <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>
  • Solicitud de ejemplo con un ID de versión

    Nota

    Debe especificar tanto la Key como el 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>

    Respuesta de ejemplo

    A continuación se muestra que se devuelven la clave y el ID de versión del objeto eliminado.

    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>
  • Solicitud de ejemplo para eliminar un marcador de eliminación al especificar un ID de versión

    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>

    Respuesta de ejemplo

    • Key y VersionId identifican el objeto eliminado.

    • Los elementos DeleteMarker y DeleteMarkerVersionId confirman que el elemento eliminado es un marcador de eliminación. En este caso, VersionId y DeleteMarkerVersionId tienen el mismo valor.

    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

Puede llamar a DeleteMultipleObjects mediante los siguientes SDK:

Herramienta de línea de comandos ossutil

El comando de ossutil correspondiente es delete-multiple-objects.

Referencias

  • Para eliminar un solo objeto, utilice DeleteObject.

  • Para obtener información sobre cómo eliminar objetos automáticamente, consulte 生命周期.

Códigos de error

Código de error

Código de estado HTTP

Descripción

InvalidDigest

400

El valor Content-MD5 calculado por OSS no coincide con el valor del encabezado de solicitud Content-MD5.

MalformedXML

400

  • El cuerpo del mensaje supera los 2 MB.

  • Se especifican más de 1,000 objetos en una sola solicitud de DeleteMultipleObjects.

FileImmutable

409

El bucket está protegido por una directiva de retención. Los datos protegidos no se pueden eliminar ni modificar.