Elimina un objeto.
Notas de uso
Si un bucket tiene reglas de replicación de datos configuradas para sincronizar todos los cambios (Add/Delete/Change), incluidas la creación, modificación y eliminación de objetos, al llamar a la operación DeleteObject también se eliminan los objetos replicados del bucket de destino asociado a dicha política. Además, si el versionado está habilitado en ese bucket, OSS crea marcadores de eliminación para los objetos borrados en el bucket de origen y los replica en el bucket de destino cuando usted llama a la operación DeleteObject.
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.
La operación DeleteObject devuelve el código de estado HTTP 204 cuando se ejecuta correctamente, sin importar si el objeto existe o no.
Si el objeto que desea eliminar es un enlace simbólico, la operación DeleteObject borra únicamente dicho enlace, pero no el objeto al que apunta.
La operación DeleteObject no permite eliminar directorios en un bucket que tenga habilitada la función de espacio de nombres jerárquico.
Versionado
Cuando llama a DeleteObject para eliminar un objeto de un bucket con versionado, debe determinar si especifica un identificador de versión en la solicitud.
-
Eliminar un objeto sin especificar un identificador de versión (eliminación temporal)
Si no especifica el identificador de versión del objeto que desea eliminar en la solicitud, OSS no borra la versión actual. En su lugar, añade un marcador de eliminación al objeto como nueva versión. La respuesta a la solicitud incluye el encabezado
x-oss-delete-marker = truey el encabezadox-oss-version-id, que indica el identificador de versión del marcador de eliminación creado.Si el valor de
x-oss-delete-markeres true, el valor dex-oss-version-idcorresponde al identificador de versión del marcador de eliminación.NotaSi elimina un objeto sin especificar su identificador de versión en un bucket con el versionado suspendido, y dicho objeto ya cuenta con una versión nula, OSS añade un marcador de eliminación con un identificador de versión nulo para sobrescribir la versión existente. Un objeto puede tener como máximo una versión cuyo identificador sea nulo.
-
Eliminar un objeto al especificar un identificador de versión (eliminación permanente)
Si especifica
versionIdenparamsde la solicitud, OSS elimina la versión indicada. Si desea borrar una versión nula, incluyaparams['versionId'] = "null"enparams. OSS identifica la cadena "null" como el identificador de la versión por eliminar y borra la versión nula.
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios o roles de RAM asociados a una cuenta de Alibaba Cloud carecen de permisos de manera predeterminada. La cuenta de Alibaba Cloud o el administrador de la cuenta deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.
|
API |
Action |
Descripción |
|
DeleteObject |
oss:DeleteObject |
Elimina un objeto. |
|
oss:DeleteObjectVersion |
Elimina una versión específica de un objeto. |
Sintaxis de la solicitud
DELETE /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Encabezados de la solicitud
DescribeRegions utiliza únicamente encabezados de solicitud comunes. Para obtener más información, consulte Common request headers.
Encabezados de la respuesta
|
Encabezado |
Tipo |
Ejemplo |
Descripción |
|
x-oss-delete-marker |
Boolean |
true |
Indica si el objeto es un marcador de eliminación.
Valor válido: true |
|
x-oss-version-id |
String |
CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz**** |
Identificador de versión del objeto eliminado.
|
La respuesta a esta solicitud contiene encabezados de respuesta comunes. Para obtener más información sobre dichos encabezados, consulte Common response headers.
Ejemplos
-
Elimine un objeto de un bucket sin versionado.
Solicitud de ejemplo
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: 0Respuesta de ejemplo
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 -
Elimine un objeto de un bucket con versionado sin especificar un identificador de versión.
En este caso, OSS añade un marcador de eliminación al objeto e incluye el encabezado
x-oss-delete-marker=trueen la respuesta.Solicitud de ejemplo
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta de ejemplo
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 -
Elimine una versión del objeto de un bucket con versionado al especificar el identificador de versión.
En este escenario, la versión especificada del objeto se elimina de forma permanente.
Solicitud de ejemplo
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta de ejemplo
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 -
Elimine un marcador de eliminación de un bucket con versionado al especificar su identificador de versión.
En el siguiente ejemplo, la versión especificada es un marcador de eliminación. La respuesta incluye el encabezado
x-oss-delete-marker=true.Solicitud de ejemplo
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta de ejemplo
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
Puede usar los SDK de OSS de los siguientes lenguajes de programación para llamar a DeleteObject:
ossutil
Para obtener información sobre el comando de ossutil correspondiente a la operación DeleteObject, consulte delete-object.
Referencias
Para conocer la operación de API que permite eliminar varios objetos a la vez, consulte DeleteMultipleObjects.
Para saber cómo eliminar objetos automáticamente, consulte 生命周期.
Códigos de error
|
Código de error |
Código de estado HTTP |
Descripción |
|
FileImmutable |
409 |
Intentó eliminar o modificar datos protegidos. Durante el periodo de protección, no se pueden eliminar ni modificar los datos del bucket. |
|
FileAlreadyExists |
409 |
El objeto que intenta eliminar es un directorio en un bucket que tiene habilitada la función de espacio de nombres jerárquico. |