Carga de piezas
Funciones
Después de iniciar una carga de varias partes, puede utilizar esta operación para cargar partes para la carga de varias partes mediante su ID de tarea. Cuando se cargan partes en una carga de varias partes de un objeto, la secuencia de carga no afecta a la fusión de partes, es decir, se pueden cargar varias partes simultáneamente.
Los tamaños de las piezas varían de 100 KB a 5 GB. Sin embargo, cuando se fusionan partes, el tamaño de la última parte cargada varía de 0 a 5 GB. El ID de pieza de carga oscila entre 1 y 10,000.
Esta operación admite la encriptación del lado del servidor.
El valor de partNumber en una tarea de varias partes es único. Si carga una parte del mismo partNumber repetidamente, la última parte cargada sobrescribirá la anterior. Cuando se realiza la carga simultánea múltiple de la misma parte de partNumber del mismo objeto, se aplica la política de Last Write Win. La hora de Last Write se define como la hora en que se crean los metadatos de la pieza. Para garantizar la precisión de los datos, el cliente debe estar bloqueado para garantizar la carga simultánea de la misma parte del mismo objeto. No es necesario bloquear la carga simultánea de diferentes partes del mismo objeto.
Sintaxis de solicitud
PUT /ObjectName?partNumber=partNum&uploadId=uploadID HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Content-Length: length Authorization: authorization Content-MD5:md5 <object Content>
Parámetros de solicitud
Esta solicitud utiliza parámetros para especificar el ID de tarea de carga y el número de pieza. Tabla 1 describe los parámetros.
Encabezados de solicitud
Esta solicitud utiliza encabezados comunes. Para obtener más información, véase Tabla 3.
Encabezado |
Descripción |
Obligatorio |
---|---|---|
x-obs-server-side-encryption-customer-algorithm |
Indica el algoritmo de encriptación cuando se utiliza SSE-C. Tipo: string Ejemplo: x-obs-server-side-encryption-customer-algorithm:AES256 Restricción: Este encabezado debe usarse junto con x-obs-server-side-encryption-customer-key y x-obs-server-side-encryption-customer-key-MD5. |
No. Este encabezado se requiere cuando se utiliza SSE-C. El algoritmo de encriptación debe ser el mismo que el utilizado para iniciar tareas de carga de varias partes. |
x-obs-server-side-encryption-customer-key |
Indica la clave para cifrar objetos cuando se utiliza SSE-C. Tipo: string Ejemplo: x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw= Restricción: Este encabezado es una clave de 256 bits codificada en Base64 y debe usarse junto con x-obs-server-side-encryption-customer-algorithm y x-obs-server-side-encryption-customer-key-MD5. |
No. Este encabezado se requiere cuando se utiliza SSE-C. La clave debe ser la misma que se utiliza para iniciar tareas de carga de varias partes. |
x-obs-server-side-encryption-customer-key-MD5 |
Indica el valor MD5 de la clave de encriptación cuando se utiliza SSE-C. El valor MD5 se utiliza para comprobar si se produce algún error durante la transmisión de la clave. Tipo: string Ejemplo: x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== Restricción: Este encabezado es un valor MD5 de 128 bits codificado en Base64 y debe usarse junto con x-obs-server-side-encryption-customer-algorithm y x-obs-server-side-encryption-customer-key. |
No. Este encabezado se requiere cuando se utiliza SSE-C. El valor MD5 debe ser el mismo que el utilizado para iniciar tareas de carga de varias partes. |
Elementos de solicitud
Esta solicitud no implica ningún elemento.
Sintaxis de respuesta
1 2 3 4 |
HTTP/1.1 status_code Date: date ETag: etag Content-Length: length |
Encabezados de respuesta
La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.
Encabezado |
Descripción |
---|---|
x-obs-server-side-encryption |
Este encabezado se incluye en una respuesta si se utiliza SSE-KMS. Tipo: string Ejemplo: x-obs-server-side-encryption:kms |
x-obs-server-side-encryption-kms-key-id |
Indica el ID de clave principal. Este encabezado se incluye en una respuesta cuando se usa SSE-KMS. Tipo: string Formato: regionID:domainID:key/key_id regionID indica el ID de la región a la que pertenece la clave. domainID indica el ID del tenant al que pertenece la clave. key_id indica el ID de clave utilizado en esta encriptación. Ejemplo: x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 |
x-obs-server-side-encryption-customer-algorithm |
Indica el algoritmo de encriptación. Este encabezado se incluye en una respuesta cuando se usa SSE-C. Tipo: string Ejemplo: x-obs-server-side-encryption-customer-algorithm:AES256 |
x-obs-server-side-encryption-customer-key-MD5 |
Indica el valor MD5 de la clave para cifrar objetos. Este encabezado se incluye en una respuesta cuando se usa SSE-C. Tipo: string Ejemplo: x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== |
Elementos de respuesta
Esta respuesta no contiene elementos.
Respuestas de error
- Si un número de pieza no está dentro del intervalo de 1 a 10000, OBS devuelve 400 Bad Request.
- Si un tamaño de pieza ha superado los 5 GB, se devuelve el código de error 400 Bad Request.
- Si la AK o la firma no son válidas, OBS devuelve 403 Forbidden y el código de error es AccessDenied.
- Compruebe si el bucket existe. Si no se encuentra el bucket, OBS devuelve 404 Not Found y el código de error es NoSuchBucket.
- Vea la ACL del bucket para comprobar si el usuario tiene el permiso de lectura para el bucket solicitado. Si el usuario no tiene el permiso de lectura, OBS devuelve 403 AccessDenied.
- Compruebe si existe la tarea de carga de varias partes. Si la tarea no existe, OBS devuelve 404 Not Found y el código de error es NoSuchUpload.
- Compruebe si el usuario de solicitud es el iniciador de la tarea de carga de varias partes. Si no, OBS devuelve 403 Forbidden y el código de error es AccessDenied.
Otros errores se incluyen en Tabla 2.
Modelo de solicitud
PUT /object02?partNumber=1&uploadId=00000163D40171ED8DF4050919BD02B8 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 05:15:55 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:ZB0hFwaHubi1aKHv7dSZjJts40g= Content-Length: 102015348 [102015348 Byte part content]
Modelo de respuesta
1 2 3 4 5 6 7 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D40956A703289CA066F1 ETag: "b026324c6904b2a9cb4b88d6d61c81d1" x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCUQu/EOEVSMa04GXVwy0z9WI+BsDKvfh Date: WED, 01 Jul 2015 05:15:55 GMT Content-Length: 0 |