Exclui um objeto.
Observações de uso
Se um bucket tiver regras de replicação de dados configuradas para sincronizar todas as alterações (Add/Delete/Change), incluindo criação, modificação e exclusão de objetos, a chamada à operação DeleteObject para remover objetos armazenados resultará na exclusão dos objetos replicados no bucket de destino associado à política de replicação. Além disso, se o versionamento estiver ativado nesse bucket, marcadores de exclusão serão criados para os objetos excluídos no bucket de source e replicados para o bucket de destino ao chamar a operação DeleteObject.
Objetos excluídos não podem ser recuperados. Proceda com cautela. Para obter mais informações sobre como excluir objetos, consulte Excluir objetos.
A operação DeleteObject retorna o código de status http 204 quando bem-sucedida, independentemente da existência do objeto.
Caso o objeto a ser excluído seja um link simbólico, a operação DeleteObject remove apenas o link simbólico, mas não o objeto para o qual ele aponta.
Não é possível usar a operação DeleteObject para excluir diretórios em um bucket com o recurso de namespace hierárquico ativado.
Versionamento
Ao chamar DeleteObject para remover um objeto de um bucket com versionamento, determine se deve especificar um ID de versão na solicitação.
-
Excluir um objeto sem especificar um ID de versão (exclusão temporária)
Se você não especificar o ID de versão do objeto a ser excluído na solicitação, o oss não exclui a versão atual do objeto, mas adiciona um marcador de exclusão como nova versão. Além disso, a resposta à solicitação inclui o cabeçalho
x-oss-delete-marker = truee o cabeçalhox-oss-version-id, que indica o ID de versão do marcador de exclusão criado.Se o valor de
x-oss-delete-markerfor true, o valor dex-oss-version-idcorresponderá ao ID de versão do marcador de exclusão.NotaSe você excluir um objeto sem especificar seu ID de versão em um bucket com versionamento suspenso e o objeto já possuir uma versão nula, o oss adiciona um marcador de exclusão com ID de versão nulo para sobrescrever a versão nula existente. Um objeto pode ter no máximo uma versão cujo ID de versão seja nulo.
-
Excluir um objeto especificando um ID de versão (exclusão permanente)
Se você especificar
versionIdemparamsda solicitação, o oss exclui a versão especificada. Para excluir uma versão nula, incluaparams['versionId'] = "null"emparams. O oss identifica a string "null" como o ID da versão a ser excluída e remove a versão nula.
Permissões
Por padrão, uma conta alibaba cloud possui permissões totais. Usuários ram ou funções ram vinculados a uma conta alibaba cloud não têm permissões por padrão. A conta alibaba cloud ou o administrador da conta deve conceder permissões de operação por meio de políticas do RAM ou Bucket Policy.
API | Action | Description |
DeleteObject | oss:DeleteObject | Exclui um objeto. |
oss:DeleteObjectVersion | Exclui uma versão específica de um objeto. |
Sintaxe da solicitação
DELETE /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Cabeçalhos da solicitação
O DeleteObject utiliza apenas cabeçalhos de solicitação comuns. Para obter mais informações, consulte Cabeçalhos de solicitação comuns.
Cabeçalhos da resposta
Header | Type | Example | Description |
x-oss-delete-marker | Boolean | true | Indica se o objeto é um marcador de exclusão.
Valor válido: true |
x-oss-version-id | String | CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz**** | O ID de versão do objeto excluído.
|
A resposta desta solicitação contém cabeçalhos de resposta comuns. Para obter mais informações sobre cabeçalhos de resposta comuns, consulte Cabeçalhos de resposta comuns.
Exemplos
-
Excluir um objeto de um bucket sem versionamento.
Solicitação de exemplo
DELETE /AK.txt HTTP/1.1 Host: test.oss-cn-zhangjiakou.aliyuncs.com Accept-Encoding: identity User-Agent: aliyun-sdk-python/2.6.0(Windows/7/AMD64;3.7.0) Accept: text/html Connection: keep-alive Date: Wed, 02 Jan 2019 13:28:38 GMT authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e Content-Length: 0Resposta de exemplo
HTTP/1.1 204 No Content Server: AliyunOSS Date: Wed, 02 Jan 2019 13:28:38 GMT Content-Length: 0 Connection: keep-alive x-oss-request-id: 5C2CBC8653718B5511EF4535 x-oss-server-time: 134 -
Excluir um objeto de um bucket com versionamento sem especificar um ID de versão.
Neste caso, o oss adiciona um marcador de exclusão ao objeto e inclui o cabeçalho
x-oss-delete-marker=truena resposta.Solicitação de exemplo
DELETE /example HTTP/1.1 Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 04:08:23 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 204 NoContent x-oss-delete-marker: true x-oss-version-id: CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz**** x-oss-request-id: 5CAC1AB7B7AEADE01700**** Date: Tue, 09 Apr 2019 04:08:23 GMT Connection: keep-alive Server: AliyunOSS -
Excluir uma versão do objeto de um bucket com versionamento especificando o ID de versão.
Nesta situação, a versão especificada do objeto é excluída permanentemente.
Solicitação de exemplo
DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** HTTP/1.1 Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 04:11:54 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 204 No Content x-oss-version-id: CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** x-oss-request-id: 5CAC1B8AB7AEADE01700**** Date: Tue, 09 Apr 2019 04:11:54 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS -
Excluir um marcador de exclusão de um bucket com versionamento especificando o ID de versão do marcador de exclusão.
No exemplo a seguir, a versão especificada é um marcador de exclusão. O cabeçalho
x-oss-delete-marker=trueestá incluído na resposta.Solicitação de exemplo
DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** HTTP/1.1 Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 04:16:25 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 204 No Content x-oss-delete-marker: true x-oss-version-id: CAEQNhiBgIDFtp.B0BYiIDk4NzgwMmU4NDMyOTQyM2NiMDQxOTcxYWNhMjc1**** x-oss-request-id: 5CAC1C99B7AEADE01700**** Date: Tue, 09 Apr 2019 04:16:25 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS
SDK
Use os SDKs do oss nas seguintes linguagens de programação para chamar o DeleteObject:
ossutil
Para obter informações sobre o comando ossutil correspondente à operação DeleteObject, consulte delete-object.
Referências
Para detalhes sobre a operação de API que permite excluir vários objetos simultaneamente, consulte DeleteMultipleObjects.
Para saber como excluir objetos automaticamente, consulte Ciclo de vida.
Códigos de erro
|
Error code |
http status code |
Description |
|
FileImmutable |
409 |
Tentativa de excluir ou modificar dados protegidos. Durante o período de proteção, os dados no bucket não podem ser excluídos ou modificados. |
|
FileAlreadyExists |
409 |
O objeto a ser excluído é um diretório no bucket com o recurso de namespace hierárquico ativado. |