Carga de partes (PUT uploadID) - Amazon S3 Glacier

Esta página es solo para los clientes actuales del servicio S3 Glacier que utilizan Vaults y el original de 2012. REST API

Si busca soluciones de almacenamiento de archivos, le sugerimos que utilice las clases de almacenamiento S3 Glacier en Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval y S3 Glacier Deep Archive. Para obtener más información sobre estas opciones de almacenamiento, consulte Clases de almacenamiento de S3 Glacier y Almacenamiento de datos a largo plazo con clases de almacenamiento de S3 Glacier en la Guía del usuario de Amazon S3. Estas clases de almacenamiento utilizan Amazon S3API, están disponibles en todas las regiones y se pueden gestionar en la consola de Amazon S3. Ofrecen funciones como el análisis de costos de almacenamiento, Storage Lens, funciones avanzadas de cifrado opcionales y más.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Carga de partes (PUT uploadID)

Descripción

Esta operación de carga multiparte carga una parte de un archivo. Las partes de un archivo se pueden cargar en cualquier orden, ya que, en la solicitud Upload Part, se especifica el intervalo de bytes del archivo montado que se va a cargar en esa parte. Las partes también pueden cargarse en paralelo. En una carga multiparte, se pueden cargar hasta 10 000 partes.

Para obtener información sobre la carga multiparte, consulte Carga de archivos grandes por partes (carga multiparte).

Amazon S3 Glacier (S3 Glacier) rechaza la solicitud de carga de la parte si se cumple alguna de las siguientes condiciones:

  • El hash en árbol SHA256 no coincide: para garantizar que los datos de la parte no se dañan durante la transmisión, calcule un hash en árbol SHA256 de la parte e inclúyalo en la solicitud. Cuando reciba los datos, S3 Glacier calculará también un hash en árbol SHA256. Si los dos valores hash no coinciden, se producirá un error en la operación. Para obtener información acerca de cómo calcular un hash en árbol SHA256, consulte Cálculo de sumas de comprobación.

  • El hash lineal SHA256 no coincide: como es un requisito para la autorización, debe calcular un hash lineal SHA256 de toda la carga e incluirlo en la solicitud. Para obtener más información acerca de cómo calcular un hash lineal SHA256, consulte Cálculo de sumas de comprobación.

  • El tamaño de la parte no coincide: el tamaño de cada una de las partes excepto de la última debe coincidir con el tamaño especificado en la solicitud Inicio de la carga multiparte (POST cargas-multiparte) correspondiente. El tamaño de la última parte debe ser igual o menor que el tamaño especificado.

    nota

    Si carga una parte cuyo tamaño es menor que el tamaño especificado en la solicitud Initiate Multipart Upload y esa parte no es la última, la solicitud Upload Part se ejecutará correctamente. Sin embargo, se producirá un error en la solicitud Complete Multipart Upload siguiente.

  • El intervalo no está alineado: el valor del intervalo de bytes de la solicitud no coincide con el tamaño de parte especificado en la solicitud de inicio correspondiente. Por ejemplo, si especifica un tamaño de parte de 4 194 304 bytes (4 MB), entonces los intervalos de 0 a 4 194 303 bytes (4 MB - 1) y de 4 194 304 (4 MB) a 8 388 607 (8 MB - 1) son intervalos de partes válidos. Sin embargo, si establece un valor de intervalo de 2 MB a 6 MB, el intervalo no estará alineado con el tamaño de la parte y la carga no se realizará correctamente.

Esta operación es idempotente. Si carga la misma parte varias veces, los datos incluidos en la solicitud más reciente sobrescribirán los datos cargados anteriormente.

Solicitudes

Puede enviar esta solicitud HTTP PUT al URI del ID de carga que devolvió la solicitud Initiate Multipart Upload. S3 Glacier utiliza el ID de carga para asociar la carga por partes con una carga multiparte específica. La solicitud debe incluir un hash en árbol SHA256 de los datos de las partes (encabezado x-amz-SHA256-tree-hash), un hash lineal SHA256 de toda la carga (encabezado x-amz-content-sha256), el intervalo de bytes (encabezado Content-Range) y la longitud de la parte en bytes (encabezado Content-Length).

Sintaxis

PUT /AccountId/vaults/VaultName/multipart-uploads/uploadID HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Content-Range: ContentRange Content-Length: PayloadSize Content-Type: application/octet-stream x-amz-sha256-tree-hash: Checksum of the part x-amz-content-sha256: Checksum of the entire payload x-amz-glacier-version: 2012-06-01

nota

El valor AccountId es el ID de la Cuenta de AWS propietaria del almacén. Puede especificar un ID de Cuenta de AWS o, si lo desea, un solo carácter “-” (guion), en cuyo caso, Amazon S3 Glacier usa el ID de la Cuenta de AWS asociada con las credenciales empleadas para firmar la solicitud. Si usa un ID de cuenta, no incluya ningún guion (“-”) en el ID.

Parámetros de solicitud

Esta operación no usa parámetros de solicitud.

Encabezados de solicitud

Esta operación utiliza los siguientes encabezados de solicitud, además de los encabezados de solicitud comunes a todas las operaciones. Para obtener más información acerca de los encabezados de solicitudes comunes, consulte Encabezados de solicitudes comunes.

Nombre Descripción Obligatorio
Content-Length

Identifica la longitud de la parte en bytes.

Tipo: String

Valor predeterminado: None

Restricciones: ninguna

No
Content-Range

Identifica el intervalo de bytes del archivo montado que se va a cargar en esta parte. S3 Glacier utiliza esta información para montar el archivo en el orden correcto. El formato de este encabezado sigue la especificación RFC 2616. Un encabezado de ejemplo podría ser Content-Range:bytes 0-4194303/*.

Tipo: String

Valor predeterminado: None

Restricciones: el intervalo no puede ser mayor que el tamaño de parte que especificó al iniciar la carga multiparte.

x-amz-content-sha256

Suma de comprobación SHA256 (hash lineal) de los datos cargados. No es el mismo valor que se especifica en el encabezado x-amz-sha256-tree-hash.

Tipo: String

Valor predeterminado: None

Restricciones: ninguna

x-amz-sha256-tree-hash

Especifica un hash en árbol SHA256 de los datos que se están cargando. Para obtener información acerca de cómo calcular un hash en árbol SHA256, consulte Cálculo de sumas de comprobación.

Tipo: String

Valor predeterminado: None

Restricciones: ninguna

Cuerpo de la solicitud

El cuerpo de la solicitud contiene los datos que se van a cargar.

Respuestas

Una vez que la carga de partes se ha realizado correctamente, S3 Glacier devuelve una respuesta 204 No Content.

Sintaxis

HTTP/1.1 204 No Content x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier

Encabezados de respuesta

Una respuesta correcta incluye los siguientes encabezados de respuesta, además de los encabezados de respuesta comunes a todas las operaciones. Para obtener más información acerca de los encabezados de respuesta comunes, consulte Encabezados de respuesta comunes.

Nombre Descripción
x-amz-sha256-tree-hash

Hash en árbol SHA256 que S3 Glacier calculó para la parte cargada.

Tipo: String

Cuerpo de respuesta

Esta operación no devuelve ningún cuerpo de respuesta.

Ejemplo

La siguiente solicitud carga una parte de 4 MB. La solicitud define el intervalo de bytes que se va a convertir en la primera parte del archivo.

Solicitud de ejemplo

El ejemplo envía una solicitud HTTP PUT para cargar una parte de 4 MB. La solicitud se envía al URI del ID de carga que devolvió la solicitud Initiate Multipart Upload. El encabezado Content-Range identifica la parte como los primeros 4 MB de datos del archivo.

PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 0-4194303/* x-amz-sha256-tree-hash:c06f7cd4baacb087002a99a5f48bf953 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 Content-Length: 4194304 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version,Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace

Para cargar la parte siguiente, el procedimiento es el mismo; sin embargo, debe calcular un nuevo hash en árbol SHA256 de la parte que está cargando y especificar además un intervalo de bytes para indicar en qué lugar del conjunto final irá dicha parte. La siguiente solicitud carga otra parte con el mismo ID de carga. La solicitud especifica los siguientes 4 MB del archivo tras la solicitud anterior y un tamaño de parte de 4 MB.

PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 4194304-8388607/* Content-Length: 4194304 x-amz-sha256-tree-hash:f10e02544d651e2c3ce90a4307427493 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 x-amz-glacier-version: 2012-06-01 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20120525/us-west-2/glacier/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version, Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace

Las partes se pueden cargar en cualquier orden. S3 Glacier utiliza la especificación del intervalo de cada parte para determinar el orden en que deben montarse.

Respuesta de ejemplo

HTTP/1.1 204 No Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: c06f7cd4baacb087002a99a5f48bf953 Date: Wed, 10 Feb 2017 12:00:00 GMT