Exclui um objeto.
Notas de uso
Se um bucket possuir regras de replicação de dados configuradas para sincronizar todas as alterações (Add/Delete/Change), o que inclui a criação, a modificação e a exclusão de objetos, chamar a operação DeleteObject para excluir objetos armazenados nele causará a exclusão dos objetos replicados no bucket de destino associado à política de replicação. Além disso, se o controle de versão também estiver ativado para esse bucket, a chamada da operação DeleteObject criará marcadores de exclusão para os objetos removidos no bucket source, replicando-os para o bucket de destino.
Não é possível recuperar objetos excluídos. Proceda com cautela. Para obter mais informações sobre como excluir objetos, consulte Delete objects.
A operação DeleteObject retorna o código de status HTTP 204 quando bem-sucedida, independentemente de o objeto existir ou não.
Se o objeto que você deseja excluir for um link simbólico, a operação DeleteObject excluirá apenas o link simbólico, e não o objeto para o qual o link 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.
Controle de versão
Ao chamar a operação DeleteObject para excluir um objeto de um bucket com controle de versão, você deve determinar se deseja especificar um ID de versão na solicitação.
-
Excluir um objeto sem especificar um ID de versão (exclusão temporária)
Caso não especifique o ID de versão do objeto que deseja excluir na solicitação, o OSS não excluirá a versão atual do objeto, mas adicionará um marcador de exclusão ao objeto como a 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-idserá o 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 o controle de versão suspenso e o objeto já possuir uma versão nula, o OSS adicionará um marcador de exclusão com um ID de versão nulo para substituir 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 excluirá 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 exclui a versão nula.
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM sob uma conta Alibaba Cloud não têm nenhuma permissão por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação. Para isso, defina as permissões por meio de RAM policies ou Bucket Policy.
|
API |
Ação |
Descrição |
|
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
A operação DescribeRegions usa apenas cabeçalhos de solicitação comuns. Para obter mais informações, consulte Common request headers.
Cabeçalhos de resposta
|
Cabeçalho |
Tipo |
Exemplo |
Descrição |
|
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 a esta solicitação contém cabeçalhos de resposta comuns. Para obter mais informações sobre os cabeçalhos de resposta comuns, consulte Common response headers.
Exemplos
-
Para isso, exclua um objeto de um bucket sem controle de versão.
Exemplo de solicitação
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: 0Exemplo de resposta
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 -
Para isso, exclua um objeto de um bucket com controle de versão sem especificar um ID de versão.
Nesse caso, o OSS adiciona um marcador de exclusão ao objeto e inclui o cabeçalho
x-oss-delete-marker=truena resposta.Exemplo de solicitação
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eExemplo de resposta
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 -
Para isso, exclua uma versão do objeto de um bucket com controle de versão especificando o ID de versão.
Nesse caso, a versão especificada do objeto é excluída permanentemente.
Exemplo de solicitação
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eExemplo de resposta
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 -
Para isso, exclua um marcador de exclusão de um bucket com controle de versão 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=trueé incluído na resposta.Exemplo de solicitação
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eExemplo de resposta
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
Você pode usar os SDKs do OSS para as seguintes linguagens de programação para chamar a operação DeleteObject:
ossutil
Para obter informações sobre o comando do ossutil que corresponde à operação DeleteObject, consulte delete-object.
Referências
Para obter informações sobre a operação de API que você pode chamar para excluir vários objetos de uma só vez, consulte DeleteMultipleObjects.
Para obter informações sobre como excluir objetos automaticamente, consulte 生命周期.
Códigos de erro
|
Código de erro |
Código de status HTTP |
Descrição |
|
FileImmutable |
409 |
Você tentou excluir ou modificar dados protegidos. Durante o período de proteção, não exclua ou modifique os dados no bucket. |
|
FileAlreadyExists |
409 |
O objeto que você deseja excluir é um diretório no bucket com o recurso de namespace hierárquico ativado. |