Génération de sortie de tâche (GET output) - Amazon S3 Glacier

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 et Stockage de données à long terme à l'aide des classes de stockage S3 Glacier dans le guide de l'utilisateur Amazon S3. Ces classes de stockage utilisent Amazon S3API, sont disponibles dans toutes les régions et peuvent être gérées au sein de la console Amazon S3. Ils offrent des fonctionnalités telles que l'analyse des coûts de stockage, Storage Lens, des fonctionnalités de chiffrement optionnelles avancées, etc.

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.

Génération de sortie de tâche (GET output)

Description

Cette opération télécharge la sortie de la tâche que vous avez lancée à l'aide de l'opération Initier une tâche (POSToffres d'emploi). Selon le type de tâche que vous avez spécifié lors du lancement de la tâche, la sortie représente le contenu d'une archive ou d'un inventaire de coffre.

Vous pouvez télécharger la totalité de la sortie d'une tâche ou une partie seulement de la sortie en spécifiant une plage d'octets. Pour les tâches d'extraction d'archive et les tâches d'extraction d'inventaire, vous devez comparer la taille téléchargée à la taille renvoyée dans les en-têtes de la réponse Génération de sortie de tâche.

Pour les tâches d'extraction d'archive, vous devez également vérifier que la taille obtenue est conforme à ce que vous aviez prévu. Si vous téléchargez une partie de la sortie, la taille prévue est basée sur la plage d'octets que vous avez spécifiée. Par exemple, si vous spécifiez la plage bytes=0-1048575, vous devez vérifier que la taille de votre téléchargement est 1 048 576 octets. Si vous téléchargez une archive entière, la taille attendue est celle de l'archive au moment où vous l'avez chargée sur Amazon S3 Glacier (S3 Glacier). La taille prévue est également renvoyée dans les en-têtes de la réponse Génération de sortie de tâche.

Dans le cas d'une tâche d'extraction d'archive, selon la plage d'octets que vous spécifiez, S3 Glacier renvoie le total de contrôle pour la partie des données. Afin de vous assurer que la partie téléchargée est correcte, calculez le total de contrôle sur le client et vérifiez que les valeurs correspondent et que la taille est conforme à ce que vous aviez prévu.

Un ID de tâche n'expire pas avant au moins 24 heures après que S3 Glacier a terminé la tâche. Autrement dit, vous disposez d'un délai de 24 heures pour télécharger la sortie de la tâche après que S3 Glacier a terminé cette dernière.

Requêtes

Syntaxe

Pour extraire une sortie de tâche, vous envoyez la demande HTTP GET à l'URI de la sortie output de la tâche spécifique.

GET /AccountId/vaults/VaultName/jobs/JobID/output HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Range: ByteRangeToRetrieve 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
Range

Plage d'octets à extraire de la sortie. Par exemple, si vous souhaitez télécharger les 1 048 576 premiers octets, spécifiez la plage bytes=0-1048575. Pour plus d'informations, consultez le document Range Header Field Definition. La plage est relative par rapport à n'importe quelle plage spécifiée dans la demande de lancement de tâche. Par défaut, cette opération télécharge la totalité de la sortie.

Si la sortie de la tâche est volumineuse, vous pouvez utiliser l'en-tête de demande Range pour extraire une partie de la sortie. Cela vous permet de télécharger la totalité de la sortie en blocs d'octets plus petits. Imaginons par exemple que vous souhaitiez télécharger une sortie de tâche de 1 Go et que vous décidiez d'effectuer ce téléchargement par blocs de 128 Mo via huit demandes de génération de sortie de tâche au total. Vous allez utiliser le processus suivant pour télécharger la sortie de la tâche :

  1. Téléchargez un bloc de sortie de 128 Mo en spécifiant la plage d'octets appropriée à l'aide de l'en-tête Range. Vérifiez que les 128 Mo de données ont bien tous été reçus.

  2. Outre les données, la réponse inclut un total de contrôle de la charge utile. Vous calculez le total de contrôle de la charge utile sur le client et vous le comparez au total de contrôle que vous avez reçu dans la réponse pour vous assurer que vous avez bien reçu toutes les données prévues.

  3. Répétez les étapes 1 et 2 pour les huit blocs de données de sortie de 128 Mo, en spécifiant à chaque fois la plage d'octets appropriée.

  4. Après le téléchargement de toutes les parties de la sortie de la tâche, vous obtenez une liste de huit valeurs de total de contrôle. Calculez le hachage d'arborescence de ces valeurs pour obtenir le total de contrôle de la totalité de la sortie. A l'aide de l'opération Description de la tâche (GET JobID), récupérez des informations sur la tâche dont est extraite la sortie. La réponse comprend le total de contrôle de l'archive entière stockée dans S3 Glacier. Comparez cette valeur au total de contrôle que vous avez calculé pour vous assurer que la totalité de l'archive a été téléchargée sans erreur.

Type : chaîne

Par défaut : aucun

Contraintes: Aucune

Non

Corps de la requête

Cette opération n'a pas de corps de demande.

Réponses

Syntaxe

Pour une demande d'extraction qui renvoie toutes les données d'une tâche, la réponse de la sortie de tâche renvoie le code de réponse 200 OK. Lorsqu'un contenu partiel est demandé, par exemple, si vous avez spécifié l'en-tête Range dans la demande, le code de réponse 206 Partial Content est renvoyé.

HTTP/1.1 200 OK x-amzn-RequestId: x-amzn-RequestId Date: Date Content-Type: ContentType Content-Length: Length x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier [Body containing job output.]

En-têtes de réponse

En-tête Description
Content-Range

Plage d'octets renvoyée par S3 Glacier. Si une sortie partielle est téléchargée, la réponse fournit la plage d'octets renvoyée par S3 Glacier.

Par exemple, bytes 0-1048575/8388608 renvoie le premier bloc de 1 Mo des 8 Mo.

Pour plus d'informations sur l'en-tête Content-Range, consultez le document Content-Range Header Field Definition.

Type : chaîne

Content-Type

L'en-tête Content-Type varie selon que la sortie de tâche est une archive ou un inventaire de coffre.

  • Pour des données archivées, l'en-tête Content-Type est application/octet-stream.

  • Pour un inventaire de coffre, si vous avez demandé le format CSV lors du lancement de la tâche, l'en-tête Content-Type est text/csv. Sinon, par défaut, l'inventaire de coffre est renvoyé au format JSON, et l'en-tête Content-Type est application/json.

Type : chaîne

x-amz-sha256-tree-hash

Somme de contrôle des données dans la réponse. Cet en-tête est renvoyé uniquement lors de l'extraction de la sortie pour une tâche d'extraction d'archive. En outre, cet en-tête s'affiche lorsque la plage de données extraite demandée dans la demande de lancement de tâche est alignée avec le hachage d'arborescence et que la plage à télécharger demandée dans la demande de génération de sortie de tâche est également alignée avec le hachage d'arborescence. Pour plus d'informations sur les plages alignées avec le hachage d'arborescence, consultez la section Réception des totaux de contrôle lors du téléchargement de données.

Par exemple, si dans votre demande de lancement de tâche, vous avez spécifié une plage à extraire qui est alignée avec le hachage d'arborescence (incluant la totalité de l'archive), vous recevrez le total de contrôle des données que vous téléchargez dans les conditions suivantes :

  • Vous obtenez la totalité de la plage des données extraites.

  • Vous demandez une plage d'octets des données extraites dont la taille est égale à un méga-octet (1 024 Ko) multiplié par la puissance 2 et qui commence et se termine sur un multiple de la taille de la plage demandée. Par exemple, si vous avez 3,1 Mo de données extraites et que vous spécifiez une plage à renvoyer qui commence à 1 Mo et se termine à 2 Mo, x-amz-sha256-tree-hash est renvoyé comme en-tête de réponse.

  • Vous demandez une plage de données extraites à renvoyer qui va jusqu'à la fin des données, et le début de la plage est un multiple de la taille de la plage à extraire qui est arrondi à la puissance deux suivante, mais qui n'est pas inférieur à un méga-octet (1 024 Ko). Par exemple, si vous avez 3,1 Mo de données extraites et que vous spécifiez une plage qui commence à 2 Mo et se termine à 3,1 Mo (fin des données), x-amz-sha256-tree-hash est renvoyé comme en-tête de réponse.

Type : chaîne

Corps de la réponse

S3 Glacier renvoie la sortie de la tâche dans le corps de la réponse. Selon le type de tâche spécifié, la sortie représente un contenu d'archive ou un inventaire de coffre. Dans le cas d'un inventaire de coffre, par défaut, la liste de l'inventaire est renvoyée sous la forme du corps JSON suivant.

{ "VaultARN": String, "InventoryDate": String, "ArchiveList": [ {"ArchiveId": String, "ArchiveDescription": String, "CreationDate": String, "Size": Number, "SHA256TreeHash": String }, ... ] }

Si vous avez spécifié le format de sortie CSV lors du lancement de la tâche d'inventaire de coffre, l'inventaire de coffre est renvoyé au format CSV dans le corps. Le format CSV comprend cinq colonnes, « ArchiveId », « ArchiveDescription », « CreationDate », « Size » et « SHA256TreeHash », dont les définitions sont identiques à celles des champs JSON correspondants.

Note

Dans le format CSV renvoyé, la totalité du contenu de certains champs renvoyés peut être placé entre guillemets. Les champs renvoyés qui contiennent une virgule ou des guillemets sont toujours placés entre guillemets. Par exemple, my archive description,1 est renvoyé comme suit : "my archive description,1". Les guillemets présents dans les champs renvoyés entre guillemets sont placés dans une séquence d'échappement et précédés d'une barre oblique inverse. Par exemple, my archive description,1"2 est renvoyé comme suit : "my archive description,1\"2" et my archive description,1\"2 est renvoyé comme suit : "my archive description,1\\"2". La barre oblique inverse n'est pas placée dans une séquence d'échappement.

Le corps de réponse JSON contient les champs JSON suivants.

ArchiveDescription

Description d'une archive.

Type : chaîne

ArchiveId

ID d'une archive.

Type : chaîne

ArchiveList

Tableau de métadonnées d'archive. Chaque objet du tableau représente les métadonnées d'une archive contenue dans le coffre.

Type : tableau

CreationDate

Date et heure de création de l'archive, exprimées en heure UTC (temps universel coordonné).

Type : représentation sous forme de chaîne au format de date ISO 8601, par exemple 2013-03-20T17:03:43.221Z.

InventoryDate

Date et heure UTC du dernier inventaire du coffre réalisé après que des modifications aient été apportées à celui-ci. Même si S3 Glacier prépare un inventaire du coffre une fois par jour, la date d'inventaire n'est mise à jour que si des ajouts ou des suppressions d'archive ont été effectuées sur le coffre depuis le dernier inventaire.

Type : représentation sous forme de chaîne au format de date ISO 8601, par exemple 2013-03-20T17:03:43.221Z.

SHA256TreeHash

Hachage d'arborescence de l'archive.

Type : chaîne

Taille

Taille de l'archive, exprimée en octets.

Type : nombre

VaultARN

Amazon Resource Name (ARN) à partir duquel l'extraction d'archive a été demandée.

Type : chaîne

Erreurs

Pour en savoir plus sur les exceptions et les messages d'erreur Amazon S3 Glacier, consultez Réponses d'erreur.

Exemples

L'exemple suivant illustre une demande de tâche visant à extraire une archive.

Exemple 1 : Téléchargement d'une sortie

Cet exemple extrait les données préparées par S3 Glacier en réponse à votre demande de lancement de tâche d'extraction d'archive.

Exemple de requête

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2

Exemple de réponse

Voici un exemple de réponse à une tâche d'extraction d'archive. Notez que l'en-tête Content-Type est application/octet-stream et que l'en-tête x-amz-sha256-tree-hash est inclus dans la réponse, ce qui signifie que toutes les données de la tâche sont renvoyées.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60 Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/octet-stream Content-Length: 1048576 [Archive data.]

Voici un exemple de réponse à une tâche d'extraction d'inventaire. Notez que l'en-tête Content-Type est application/json. Notez également que l'en-tête x-amz-sha256-tree-hash ne figure pas dans la réponse.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/json Content-Length: 906 { "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault", "InventoryDate": "2011-12-12T14:19:01Z", "ArchiveList": [ { "ArchiveId": "DMTmICA2n5Tdqq5BV2z7og-A20xnpAPKt3UXwWxdWsn_D6auTUrW6kwy5Qyj9xd1MCE1mBYvMQ63LWaT8yTMzMaCxB_9VBWrW4Jw4zsvg5kehAPDVKcppUD1X7b24JukOr4mMAq-oA", "ArchiveDescription": "my archive1", "CreationDate": "2012-05-15T17:19:46.700Z", "Size": 2140123, "SHA256TreeHash": "6b9d4cf8697bd3af6aa1b590a0b27b337da5b18988dbcc619a3e608a554a1e62" }, { "ArchiveId": "2lHzwhKhgF2JHyvCS-ZRuF08IQLuyB4265Hs3AXj9MoAIhz7tbXAvcFeHusgU_hViO1WeCBe0N5lsYYHRyZ7rrmRkNRuYrXUs_sjl2K8ume_7mKO_0i7C-uHE1oHqaW9d37pabXrSA", "ArchiveDescription": "my archive2", "CreationDate": "2012-05-15T17:21:39.339Z", "Size": 2140123, "SHA256TreeHash": "7f2fe580edb35154041fa3d4b41dd6d3adaef0c85d2ff6309f1d4b520eeecda3" } ] }

Exemple 2 : Téléchargement d'une sortie partielle

Cet exemple n'extrait qu'une partie de l'archive préparée par S3 Glacier en réponse à votre demande de lancement de tâche d'extraction d'archive. La demande utilise l'en-tête Range facultatif pour extraire uniquement les 1 024 premiers octets.

Exemple de requête

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Range: bytes=0-1023 x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2

Exemple de réponse

La réponse positive suivante contient la réponse 206 Partial Content. Dans ce cas, la réponse comprend également un en-tête Content-Range qui spécifie la plage d'octets renvoyée par S3 Glacier.

HTTP/1.1 206 Partial Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range: bytes 0-1023/8388608 Content-Type: application/octet-stream Content-Length: 1024 [Archive data.]