Uso de la API de carga de varias partes para Object Storage

Descubra cómo ejecutar cargas de varias partes para un cubo mediante la API.

Una carga en varias partes realizada mediante la API consta de los siguientes pasos:

  1. Creación de las partes del objeto

  2. Inicio de una carga

  3. Carga de partes del objeto

  4. Confirmación (o cancelación) de la carga

Antes de utilizar la API de carga de varias partes, es responsable de crear las partes que se van a cargar. Object Storage proporciona operaciones de API para los pasos restantes. El servicio también proporciona operaciones de API para mostrar cargas de varias partes en curso, mostrar las partes del objeto en una carga de varias partes en curso y salir de las cargas de varias partes en curso iniciadas mediante la API. Aquí se proporciona una visión general de alto nivel de los pasos de la API, pero puede ver la Referencia de API para obtener detalles sobre las llamadas de API admitidas.

Creación de las partes del objeto

Con la carga de varias partes, podrá dividir el objeto que desea cargar en partes individuales. Las partes individuales pueden tener hasta 50 GiB. Decida el número de parte que desea utilizar para cada parte. Los números de partes pueden oscilar entre 1 y 10.000. No es necesario asignar números consecutivos, pero Object Storage crea el objeto ordenando los números de partes en orden ascendente.

Inicio de una carga

Cuando termine de crear partes del objeto, inicie una carga de varias partes realizando una llamada a la API de REST de CreateMultipartUpload. Proporcione el nombre y los metadatos del objeto. Object Storage responde con un identificador de carga único que debe incluir en todas las solicitudes relacionadas con esta carga de varias partes. Object Storage también marca la carga como activa. La carga permanece activa hasta que la confirma o la aborta explícitamente.

Carga de partes del objeto

Cree una solicitud UploadPart para cada carga de parte del objeto. En los parámetros de la solicitud, proporcione el espacio de nombres de Object Storage, el nombre del cubo, el ID de carga y el número de parte. En el cuerpo de la solicitud, incluya la parte del objeto. Las partes del objeto se pueden cargar en paralelo y en cualquier orden. Cuando confirma la carga, Object Storage usa los números de parte para secuenciar las partes de los objetos. Los números de parte no tienen que ser contiguos. Si se cargan varias partes de objeto con el mismo ID de carga y número de parte, la operación CommitMultipartUpload confirma la última parte cargada. Consulte Instrucciones especiales para PUT de Object Storage para requisitos de solicitud de firma.

Object Storage devuelve un valor de ETag (etiqueta de entidad) para cada parte cargada. Necesita tanto el número de parte como el valor de ETag correspondiente para cada parte al confirmar la carga.

Si tiene problemas de red, puede reiniciar una carga con errores para una parte individual. No es necesario reiniciar toda la carga. Si por algún motivo no puede realizar una carga de una vez, la carga de varias partes permite seguir cargando partes a su propio ritmo. Aunque la carga de varias partes siga activa, puede seguir agregando partes siempre que el número total sea inferior a 10.000.

Puede comprobar una carga de varias partes activa visualizando todas las partes que se han cargado. (No puede mostrar información de una parte de un objeto individual en una carga de varias partes activa). La operación ListMultipartUploadParts requiere el espacio de nombres de Object Storage, el nombre de cubo y el ID de carga. Object Storage responde con información acerca de las partes asociadas con el ID de carga especificado. La información de la parte incluye el número de parte, el valor ETag, el total de control MD5 y el tamaño de la parte (en bytes).

De manera similar, si se realizan varias cargas de varias partes a la vez, puede ver las cargas que están en curso. Realice una llamada a la API ListMultipartUploads para mostrar cargas de varias partes activas en el espacio de nombres y el cubo especificados de Object Storage.

Los cargos correspondientes al almacenamiento de partes empiezan a aplicarse cuando se cargan datos.

Confirmación de la carga

Cuando haya cargado todas las partes del objeto, confirme la carga. Utilice los parámetros de la solicitud CommitMultipartUpload para especificar el espacio de nombres de Object Storage, el nombre del cubo y el ID de carga. Incluya el número de parte y el valor de ETag correspondiente para cada parte del cuerpo de la solicitud. Cuando confirma la carga, Object Storage crea el objeto a partir de sus partes constituyentes. El objeto se almacena en el cubo y el espacio de nombres especificados de Object Storage. Puede tratarlo de forma similar a cualquier otro objeto. La recopilación de basura libera espacio de almacenamiento ocupado por los números de partes que cargó, pero no incluyó en la solicitud CommitMultipartUpload.

No puede mostrar ni recuperar partes de una carga finalizada. No puede agregar ni eliminar partes de la carga finalizada. Si lo desea, puede sustituir el objeto iniciando una nueva carga.

Cancelación de la carga

Si decide cancelar una carga de varias partes en lugar de confirmarla, espere a que terminen las cargas de partes en curso y utilice la operación AbortMultipartUpload. Si cancela una carga mientras las cargas de partes siguen en curso, Object Storage limpia las partes finalizadas y en curso. No se pueden volver a utilizar los identificadores de carga de cargas de varias partes canceladas.