Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-07-11 GMT+08:00

Eliminación de objetos

Funciones

Esta operación se puede utilizar para eliminar por lotes algunos objetos de un bucket. La eliminación no se puede deshacer. Después de implementar la operación, la información devuelta contiene el resultado de implementación de cada objeto en el bucket especificado. OBS elimina los objetos de forma sincrónica. El resultado de la eliminación de cada objeto se devuelve al usuario de la solicitud.

Los objetos en lotes se pueden eliminar en modo verbose o quiet. Con el modo verbose, OBS devuelve los resultados de la eliminación correcta y fallida en una respuesta XML; con el modo quiet, OBS solo devuelve los resultados de la eliminación fallida en una respuesta XML. OBS utiliza el modo verbose de forma predeterminada y puede especificar el modo quiet en el cuerpo de la solicitud.

Para la eliminación por lotes, la cabecera de solicitud debe contener Content-SHA256 y Content-Length, de modo que el cuerpo del mensaje puede identificarse si se detecta un error de transmisión de red en el lado del servidor.

Sintaxis de solicitud

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
POST /?delete HTTP/1.1  
Host: bucketname.obs.region.myhuaweicloud.com Date: date
Authorization: authorization
Content-SHA256: SHA256
Content-Length: length

<?xml version="1.0" encoding="UTF-8"?>   
<Delete> 
    <Quiet>true</Quiet>  
    <Object> 
        <Key>Key</Key> 
        <VersionId>VersionId</VersionId> 
    </Object>  
    <Object>  
        <Key>Key</Key> 
    </Object> 
</Delete>

Parámetros de solicitud

Esta solicitud no implica parámetros.

Encabezados de solicitud

Esta solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 3.

Elementos de solicitud.

Esta solicitud utiliza elementos para especificar la lista de objetos que se van a eliminar por lote. Tabla 1 describe los elementos.

Tabla 1 Elementos de solicitud.

Elemento

Descripción

Obligatorio

Quiet

Especifica el modo quiet. Con el modo quiet, OBS solo devuelve la lista de objetos que no se han eliminado. Este elemento es válido cuando se establece en true. De lo contrario, OBS lo ignora.

Tipo: boolean

No

EncodingType

This parameter specifies the encoding type of the object key to be deleted and the object key in the response. If an object key contains control characters that are not supported by the XML 1.0 standard, you can set this element to specify the encoding type of the object key.

Type: string

Optional value: url

No

Delete

Lista de objetos que se van a eliminar

Tipo: XML

Object

Nombres de los objetos que se van a eliminar

Tipo: XML

Key

Clave del objeto que se va a eliminar Si se especifica EncodingType la clave del objeto debe codificarse según el tipo de codificación.

Tipo: string

VersionId

ID de versión del objeto que se va a eliminar

Tipo: string

No

Se puede eliminar un máximo de 1000 objetos a la vez. Si envía una solicitud para eliminar más de 1000 objetos, OBS devuelve un mensaje de error.

Después de asignar tareas simultáneas, OBS puede encontrar un error interno durante la eliminación cíclica de varios objetos. En ese caso, los metadatos todavía existen cuando se eliminan los datos de índice de objeto, lo que significa incoherencia de datos.

Sintaxis de respuesta

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
HTTP/1.1 status_code
Date: date
Content-Type: application/xml 
Content-Length: length

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<DeleteResult xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/">
<Deleted> 
    <Key>Key</Key> 
</Deleted> 
<Error> 
    <Key>Key</Key> 
    <Code>ErrorCode</Code> 
    <Message>messagee</Message> 
</Error> 
</DeleteResult>

Encabezados de respuesta

La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.

Elementos de respuesta

Esta respuesta utiliza elementos para devolver resultados de objetos eliminados por lote. Tabla 2 describe los elementos.

Tabla 2 Elementos de respuesta

Elemento

Descripción

DeleteResult

Nodo raíz de las respuestas de eliminación por lotes

Tipo: container

Deleted

Contenedor para los resultados de la eliminación exitosa

Tipo: container

Error

Contenedor para los resultados de la eliminación fallida

Tipo: container

EncodingType

Encodes the Key in the response based on the specified type. If EncodingType is specified in the request, the Key in the response is encoded.

Type: string

Key

Nombres de objeto en un resultado de eliminación

Tipo: string

Code

Código de error de un error de eliminación

Tipo: string

Message

Mensaje de error de un error de eliminación

Tipo: string

VersionId

ID de versión de los objetos que se van a eliminar

Tipo: string

DeleteMarker

Si se especifica este elemento, se devolverá true cuando cree o elimine un marcador de eliminación en el bucket solicitado con el control de versiones habilitado.

Tipo: boolean

DeleteMarkerVersionId

Indica el ID de versión del marcador de eliminación eliminado o creado por la solicitud.

Si la solicitud crea o elimina un marcador de eliminación, OBS devuelve este elemento en respuesta con el ID de versión del marcador de eliminación. Este elemento se devolverá en cualquiera de los siguientes casos:

  • Se envía una solicitud sin versión, es decir, se especifica sólo el nombre del objeto pero no el ID de versión. En este caso, el UDS crea un marcador de eliminación y devuelve su ID de versión en la respuesta.
  • Se envía una solicitud con versiones, es decir, se especifican claves de objeto e ID de versión que identifican los marcadores de eliminación. En este caso, OBS elimina el marcador de eliminación y devuelve su ID de versión en la respuesta.

Tipo: boolean

Respuestas de error

1. Si el resultado de resolución de una solicitud XML contiene más de 1000 objetos, OBS devuelve 400 Bad Request.

2. Si la clave de objeto de una solicitud XML no es válida (por ejemplo, que contiene más de 1024 caracteres), OBS devuelve 400 Solicitud incorrecta.

3. Si el encabezado de la solicitud no contiene Content-SHA256, OBS devuelve 400 Bad Request.

Para otros errores, consulte Tabla 2.

Modelo de solicitud

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
POST /test333?delete HTTP/1.1
User-Agent: curl/7.29.0
Host: 127.0.0.1
Accept: */*
Date: WED, 01 Jul 2015 04:34:21 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:8sjZWJlWmYmYnK5JqXaFFQ+vHEg=
Content-SHA256: ogX9qClMrVJUBiUSIKDFM0qO41jJM0I5SCN55/OtMyI=
Content-Length: 188

<?xml version="1.0" encoding="utf-8"?>
<Delete> 
  <Quiet>true</Quiet>  
  <Object> 
    <Key>obja02</Key> 
  </Object>  
  <Object> 
    <Key>obja02</Key> 
  </Object> 
</Delete>

Modelo de respuesta

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D3FE4CE80340D30B0542
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCRhY0FBWRm6qjOE1ACBZwS+0KYlPBq0f
Content-Type: application/xml
Date: WED, 01 Jul 2015 04:34:21 GMT
Content-Length: 120

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DeleteResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/"/>