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 obtener más información, consulte Tabla 3.
Elementos de solicitud
Esta solicitud utiliza elementos para especificar la lista de objetos que se van a eliminar por lotes. Tabla 1 describe los elementos.
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 |
Este parámetro especifica el tipo de codificación de la clave de objeto que se va a eliminar y la clave de objeto en la respuesta. Si una clave de objeto contiene caracteres de control que no son compatibles con el estándar XML 1.0, puede establecer este elemento para especificar el tipo de codificación de la clave de objeto. Tipo: string Opción de valor: url |
No |
Delete |
Lista de objetos que se van a eliminar Tipo: XML |
Sí |
Object |
Nombres de los objetos que se van a eliminar Tipo: XML |
Sí |
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 |
Sí |
VersionId |
ID de versión del objeto que se va a eliminar Tipo: string |
No |
Se puede eliminar un máximo de 1,000 objetos a la vez. Si envía una solicitud para eliminar más de 1,000 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>Message</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 lotes. Tabla 2 describe los elementos.
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 |
Codifica la clave en la respuesta según el tipo especificado. Si se especifica EncodingType en la solicitud, se codifica la clave de la respuesta. Tipo: 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:
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 Bad Request.
3. Si el encabezado de la solicitud no contiene Content-SHA256, OBS devuelve 400 Bad Request.
Otros errores se incluyen en Tabla 2.
Ejemplo 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> |
Ejemplo 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/"/> |