Cette page est réservée aux clients existants du service S3 Glacier utilisant Vaults et l'original REST API de 2012.
Si vous recherchez des solutions de stockage d'archives, nous vous conseillons d'utiliser les classes de stockage S3 Glacier dans Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval et S3 Glacier Deep Archive. Pour en savoir plus sur ces options de stockage, consultez les sections Classes de stockage S3 Glacier
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Partie chargement (PUT uploadID)
Description
Cette opération de chargement partitionné permet de charger une partie d'une archive. Vous pouvez charger des parties de l'archive dans n'importe quel ordre car vous spécifiez la plage d'octets de l'archive assemblée qui sera chargée dans cette partie dans votre demande de chargement partiel. Vous pouvez également charger ces différentes parties en parallèle. Vous pouvez charger jusqu'à 10 000 parties pour un chargement partitionné.
Pour plus d'informations sur le chargement partitionné, consultez Chargement d'archives volumineuses en plusieurs parties (chargement partitionné).
Amazon S3 Glacier (S3 Glacier) rejette votre demande de chargement partiel si l'une des conditions suivantes est vraie :
-
Le hachage d'arborescence SHA256 ne correspond pas – Pour éviter que les données de la partie en questions soient corrompues pendant la transmission, vous calculez un hachage d'arborescence SHA256 de la partie, puis vous l'incluez dans votre demande. Après avoir reçu les données de la partie, S3 Glacier calcule également un hachage d'arborescence SHA256. Si les deux valeurs de hachage ne correspondent pas, l'opération échoue. Pour plus d'informations sur le calcul d'un hachage d'arborescence SHA256, consultez la section Calcul des totaux de contrôle.
-
Le hachage linéaire SHA256 ne correspond pas – Obligatoire pour l'autorisation, vous calculez le hachage linéaire SHA256 de l'ensemble de la charge utile chargée et vous l'incluez dans votre demande. Pour plus d'informations sur le calcul d'un hachage linéaire SHA256, consultez la page Calcul des totaux de contrôle.
-
La taille de la partie ne correspond pas – La taille de chaque partie, à l'exception de la dernière, doit correspondre à la taille spécifiée dans la demande Lancement de chargement partitionné (POST multipart-uploads) correspondante. La taille de la dernière partie doit être identique, ou inférieure, à la taille spécifiée.
Note
Si vous chargez une partie dont la taille est inférieure à la taille de la partie spécifiée dans votre première demande de chargement partitionné et si cette partie n'est pas la dernière, la demande de chargement de la partie est réussie. Toutefois, la demande suivante de chargement partitionné complet échouera.
-
La plage ne correspond pas – La valeur de la plage d'octets de la demande ne correspond pas à la taille de la partie spécifiée dans la demande de lancement correspondante. Par exemple, si vous spécifiez une taille de partie de 4 194 304 octets (4 Mo), les plages de parties comprises entre 0 et 4 194 303 octets (4 Mo - 1) et entre 4 194 304 (4 Mo) et 8 388 607 (8 Mo - 1) sont valides. Toutefois, si vous définissez une valeur de plage de 2 Mo à 6 Mo, la plage ne correspond pas à la taille de la partie et le chargement échouera.
Cette opération est idempotente. Si vous téléchargez la même partie plusieurs fois, les données figurant dans la demande plus récente remplace les données chargées précédemment.
Requêtes
Vous envoyez cette demande PUT
HTTP à l'URI de l'ID de chargement qui a été renvoyé par votre demande de lancement de chargement partitionné. S3 Glacier utilise l'ID de chargement pour associer les chargements partiels à un chargement partitionné spécifique. La demande doit inclure un hachage d'arborescence SHA256 des données partitionnées (en-tête x-amz-SHA256-tree-hash
), un hachage linéaire SHA256 de toute la charge utile (en-tête x-amz-content-sha256
), la plage d'octets (en-tête Content-Range
) et la longueur de la partie en octets (en-tête Content-Length
).
Syntaxe
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
Note
La valeur de AccountId
est l'ID de Compte AWS du compte propriétaire du coffre. Vous pouvez spécifier un ID de Compte AWS ou éventuellement un simple « -
» (trait d'union), auquel cas Amazon S3 Glacier utilise l'ID de Compte AWS associé aux informations d'identification utilisées pour signer la demande. Si vous utilisez un ID de compte, évitez d'y inclure des traits d'union (« - »).
Paramètres de demande
Cette opération n'utilise pas les paramètres de demande.
En-têtes de demande
Cette opération utilise les en-têtes de demande suivants, en plus de ceux communs à toutes les opérations. Pour plus d'informations sur les en-têtes de demande communs, consultez En-têtes de demande communs.
Name (Nom) | Description | Obligatoire |
---|---|---|
Content-Length
|
Identifie la longueur de la partie en octets. Type : chaîne Par défaut : aucun Contraintes: Aucune |
Non |
Content-Range
|
Identifie la plage d'octets de l'archive assemblée qui sera chargée dans cette partie. S3 Glacier se sert de ces informations pour assembler l'archive dans le bon ordre. Le format de cet en-tête suit RFC 2616 Type : chaîne Par défaut : aucun Contraintes : la plage ne peut pas être supérieure à la taille de la partie que vous avez spécifiée lorsque vous avez lancé le chargement partitionné. |
Oui |
x-amz-content-sha256
|
Total de contrôle SHA256 (hachage linéaire) de la charge utile chargée. Il ne s'agit pas de la valeur que vous spécifiez dans l'en-tête Type : chaîne Par défaut : aucun Contraintes: Aucune |
Oui |
x-amz-sha256-tree-hash
|
Spécifie un hachage d'arborescence SHA256 des données en cours de chargement. Pour plus d'informations sur le calcul d'un hachage d'arborescence SHA256, consultez la section Calcul des totaux de contrôle. Type : chaîne Par défaut : aucun Contraintes: Aucune |
Oui |
Corps de la requête
Le corps de la demande contient les données à charger.
Réponses
Lorsqu'un chargement partiel aboutit, S3 Glacier renvoie une réponse 204 No Content
.
Syntaxe
HTTP/1.1 204 No Content x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier
En-têtes de réponse
Une réponse positive comprend les en-têtes de réponse suivants, en plus de ceux communs à toutes les opérations. Pour plus d'informations sur les en-têtes de réponse communs, consultez En-têtes de réponse communs.
Name (Nom) | Description |
---|---|
x-amz-sha256-tree-hash
|
Hachage d'arborescence SHA256 que S3 Glacier a calculé pour la partie chargée. Type : chaîne |
Corps de la réponse
Cette opération ne renvoie pas de corps de réponse.
Exemple
La demande suivante charge une partie de 4 Mo. La demande définit la plage d'octets afin que ce soit la première partie de l'archive.
Exemple de requête
L'exemple envoie une demande PUT
HTTP pour charger une partie de 4 Mo. La demande est envoyée à l'URI de l'ID de chargement qui a été retournée par la demande de lancement du chargement partitionné. L'en-tête Content-Range
identifie la partie en tant que première partie de 4 Mo de l'archive.
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
Pour charger la partie suivante, la procédure est la même. Vous devez toutefois calculer un nouveau hachage d'arborescence SHA256 de la partie que vous chargez et spécifier une nouvelle plage d'octets pour indiquer où la partie ira dans l'assemblage final. La demande suivante charge une autre partie en utilisant le même ID de chargement. La demande spécifie les 4 Mo suivants de l'archive après la demande précédente et une taille de partie de 4 Mo.
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
Les différentes parties peuvent être chargées dans n'importe quel ordre : S3 Glacier se sert de la spécification de plage de chaque partie pour déterminer dans quel ordre les assembler.
Exemple de réponse
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
Sections connexes