Todos os produtos
Search
Central de documentação

Object Storage Service:DeleteMultipleObjects

Última atualização: Jul 03, 2026

Exclui vários objetos de um bucket em uma única solicitação.

Observações de uso

  • Uma única solicitação DeleteMultipleObjects pode excluir até 1.000 objetos.

  • Se a replicação de dados estiver configurada com Sync Additions, Deletions, And Modifications, o DeleteMultipleObjects também exclui os objetos correspondentes no bucket de destino. Não é possível recuperar objetos excluídos. Com o versionamento ativado, o DeleteMultipleObjects cria um marcador de exclusão para cada objeto e replica essa ação para o bucket de destino.

  • Objetos excluídos não podem ser recuperados. Proceda com cautela. Para obter mais informações sobre como excluir objetos, consulte Excluir objetos.

Versionamento

Em um bucket com versionamento ativado, o DeleteMultipleObjects insere um marcador de exclusão quando nenhum ID de versão é especificado. Se você especificar um ID de versão, essa versão será excluída permanentemente.

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM vinculados a uma conta Alibaba Cloud não possuem permissões por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.

API

Ação

Descrição

DeleteMultipleObjects

oss:DeleteObject

Exclui vários objetos de um bucket.

Sintaxe da solicitação

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>

Cabeçalhos da solicitação

O OSS utiliza estes cabeçalhos para verificar o corpo da mensagem antes de executar a operação de exclusão.

Nome

Tipo

Obrigatório

Exemplo

Descrição

Encoding-type

String

Não

url2

Método de codificação para chaves de objeto. Se uma chave contiver caracteres de controle incompatíveis com XML 1.0, defina este valor como url2. O OSS então codifica o campo Key na resposta usando URL encoding.

Valor padrão: none

Valor válido: url2

Content-Length

String

Sim

151

Comprimento do corpo da mensagem HTTP.

O OSS verifica o corpo em relação a este valor antes da exclusão.

Content-MD5

String

Sim

ohhnqLBJFiKkPSBO1eNaUA==

Hash MD5 do corpo da mensagem codificado em Base64. O OSS calcula e compara este valor para verificar a integridade.

Nota

Para calcular este valor: calcule o hash MD5 do corpo da solicitação para obter um array de bytes de 128 bits e, em seguida, codifique-o em Base64.

Elementos da solicitação

Nome

Tipo

Obrigatório

Exemplo

Descrição

Delete

Container

Sim

N/A

Contêiner da solicitação DeleteMultipleObjects.

Nós filhos: um ou mais elementos Object e o elemento Quiet

Nó pai: Nenhum

Object

Container

Sim

N/A

Contêiner das informações sobre um objeto.

Nó filho: Key

Nó pai: Delete

Key

String

Sim

test.jpg

Nome do objeto a ser excluído.

Nó pai: Object

Quiet

Enumeration string

Não

false

Controla o modo de resposta.

Modos de resposta disponíveis:

  • Modo simples (quiet): o OSS não retorna um corpo de mensagem.

  • Modo detalhado (verbose): o OSS retorna o resultado da exclusão para cada objeto. Este é o modo padrão.

Valores válidos: true (ativa o modo simples) e false (ativa o modo detalhado)

Valor padrão: false

Nó pai: Delete

VersionId

String

Não

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****

Número da versão do objeto a ser excluído.

Nó pai: Object

Elementos da resposta

Nome

Tipo

Exemplo

Descrição

DeleteResult

Container

N/A

Contêiner do resultado da solicitação DeleteMultipleObjects.

Nó filho: Deleted

Nó pai: Nenhum

Deleted

Container

N/A

Contêiner para cada objeto excluído com êxito.

Importante

O elemento Deleted lista apenas os objetos excluídos com sucesso. Compare a lista da solicitação com a resposta para identificar falhas.

Nó filho: Key

Nó pai: DeleteResult

Key

String

demo.jpg

Nome do objeto excluído.

Nó pai: Deleted

VersionId

String

version_20211101141621_d137

ID da versão.

Nó pai: Deleted

DeleteMarker

Boolean

true

Indica se a versão excluída é um marcador de exclusão. Valores válidos: true e false.

Nota

Retornado como true apenas quando um marcador de exclusão é criado ou excluído permanentemente.

Nó pai: Deleted

DeleteMarkerVersionId

String

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****

ID da versão do marcador de exclusão.

Nó pai: Deleted

EncodingType

String

url2

Tipo de codificação para nomes de objetos na resposta. Retornado apenas quando Encoding-type é especificado na solicitação.

Nó pai: DeleteResult

Exemplos

  • Exemplo de solicitação com o modo de resposta simples desativado

    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>

    Exemplo de resposta

    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>
  • Exemplo de solicitação com o modo de resposta simples ativado

    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>

    Exemplo de resposta

    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
  • Exemplo de solicitação sem ID de versão

    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>

    Exemplo de resposta

    Como nenhum ID de versão foi especificado, o OSS insere marcadores de exclusão para ambos os objetos e retorna <DeleteMarker>true</DeleteMarker> e <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>
  • Exemplo de solicitação com ID de versão

    Nota

    É necessário especificar tanto a Key quanto o 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>

    Exemplo de resposta

    O exemplo a seguir mostra que a chave e o ID da versão do objeto excluído são retornados.

    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>
  • Exemplo de solicitação para excluir um marcador de exclusão especificando um ID de versão

    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>

    Exemplo de resposta

    • Key e VersionId identificam o objeto excluído.

    • Os elementos DeleteMarker e DeleteMarkerVersionId confirmam que o item excluído é um marcador de exclusão. Neste caso, VersionId e DeleteMarkerVersionId têm o mesmo 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

Use os seguintes SDKs para chamar o DeleteMultipleObjects:

Ferramenta de linha de comando ossutil

O comando ossutil correspondente é delete-multiple-objects.

Referências

  • Para excluir um único objeto, use DeleteObject.

  • Para obter informações sobre como excluir objetos automaticamente, consulte Ciclo de vida.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

InvalidDigest

400

O valor Content-MD5 calculado pelo OSS não corresponde ao valor do cabeçalho de solicitação Content-MD5.

MalformedXML

400

  • O corpo da mensagem excede 2 MB.

  • Mais de 1.000 objetos foram especificados em uma única solicitação DeleteMultipleObjects.

FileImmutable

409

O bucket está protegido por uma política de retenção. Dados protegidos não podem ser excluídos ou modificados.