Chargement d'archives volumineuses à l'aide de l'interface AWS CLI - Amazon Glacier

Cette page est réservée aux clients existants du service Amazon Glacier utilisant Vaults et l'API REST d'origine datant de 2012.

Si vous recherchez des solutions de stockage d'archives, nous vous recommandons d'utiliser les classes de stockage Amazon 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 classes de stockage Amazon Glacier.

Amazon Glacier (service autonome d'origine basé sur un coffre-fort) n'acceptera plus de nouveaux clients à compter du 15 décembre 2025, sans aucune incidence sur les clients existants. Amazon Glacier est un service autonome doté de son propre service APIs qui stocke les données dans des coffres-forts et qui se distingue des classes de stockage Amazon S3 et Amazon S3 Glacier. Vos données existantes resteront sécurisées et accessibles indéfiniment dans Amazon Glacier. Aucune migration n'est requise. Pour un stockage d'archivage à long terme et à faible coût AWS , nous recommandons les classes de stockage Amazon S3 Glacier, qui offrent une expérience client supérieure avec des compartiments S3, une Région AWS disponibilité totale APIs, des coûts réduits et AWS une intégration des services. Si vous souhaitez des fonctionnalités améliorées, envisagez de migrer vers les classes de stockage Amazon S3 Glacier en suivant nos conseils relatifs aux AWS solutions pour le transfert de données depuis les coffres-forts Amazon Glacier vers les classes de stockage Amazon 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.

Chargement d'archives volumineuses à l'aide de l'interface AWS CLI

Vous pouvez télécharger une archive dans Amazon Glacier (Amazon Glacier) en utilisant le AWS Command Line Interface (AWS CLI). Afin d'améliorer l'expérience de téléchargement pour les archives volumineuses, Amazon Glacier fournit plusieurs opérations d'API pour prendre en charge les téléchargements partitionnés. Grâce à ces opérations d'API, vous pouvez charger les archives en plusieurs parties. Ces parties peuvent être chargées indépendamment, dans n'importe quel ordre, et en parallèle. Si le chargement d'une partie échoue, vous devez uniquement recharger cette partie, pas l'archive entière. Vous pouvez utiliser le chargement partitionné pour les archives dont la taille est comprise entre 1 octet et environ 40 000 gibioctets (Gio).

Pour plus d'informations sur les téléchargements partitionnés sur Amazon Glacier, consultez. Chargement d'archives volumineuses en plusieurs parties (chargement partitionné)

(Prérequis) Configuration du AWS CLI

  1. Téléchargez et configurez l’interface AWS CLI. Pour obtenir des instructions, consultez les rubriques suivantes dans le Guide de l’utilisateur de l’interface AWS Command Line Interface  :

    Installation du AWS Command Line Interface

    Configuration du AWS Command Line Interface

  2. Vérifiez votre AWS CLI configuration en saisissant les commandes suivantes à l'invite de commande. Ces commandes ne fournissent pas directement d'informations d'identification, par conséquent ce sont les informations du profil par défaut qui sont utilisées.

    • Essayez d'utiliser la commande help.

      aws help
    • Pour obtenir la liste des coffres-forts Amazon Glacier sur le compte configuré, utilisez la list-vaults commande. 123456789012Remplacez-le par votre Compte AWS identifiant.

      aws glacier list-vaults --account-id 123456789012
    • Pour voir les données de configuration actuelles pour le AWS CLI, utilisez la aws configure list commande.

      aws configure list

(Prérequis) Installation de Python

Pour terminer un téléchargement en plusieurs parties, vous devez calculer le hachage SHA256 arborescent de l'archive que vous chargez. Cela est différent du calcul du hachage SHA256 arborescent du fichier que vous souhaitez télécharger. Pour calculer le hachage SHA256 arborescent de l'archive que vous téléchargez, vous pouvez utiliser Java C# (avec .NET) ou. Python Dans cet exemple, vous allez utiliser Python. Pour savoir comment utiliser Java ou C#, consultez Calcul des totaux de contrôle.

Pour plus d'informations sur l'installation de Python, consultez Install ou update Python dans le Guide du développeur Boto3.

(Prérequis) Création d'un coffre-fort Amazon Glacier

Pour utiliser l'exemple suivant, vous devez avoir créé au moins un coffre-fort Amazon Glacier. Pour plus d'informations sur la création de coffres, consultez Création d'un coffre-fort dans Amazon Glacier.

Exemple : téléchargement partiel d'archives volumineuses à l'aide du AWS CLI

Dans cet exemple, vous allez créer un fichier et le charger en plusieurs parties sur Amazon Glacierà l'aide d'opérations d'API de chargement partitionné.

Important

Avant de commencer cette procédure, assurez-vous d'avoir effectué toutes les étapes prérequises. Pour télécharger une archive, vous devez avoir créé un coffre, le AWS CLI configurer et être prêt à utiliser Java le langage C# ou Python à calculer un hachage SHA256 arborescent.

La procédure suivante utilise les complete-multipart-upload AWS CLI commandes initiate-multipart-uploadupload-multipart-part, et.

Pour obtenir des informations plus détaillées sur chacun de ces commandes, consultez initiate-multipart-upload, upload-multipart-part et complete-multipart-upload dans le guide de référence des commandes AWS CLI .

  1. Utilisez la commande initiate-multipart-upload pour créer une ressource de chargement partitionné. Dans votre demande, spécifiez la taille des parties en nombre d'octets. Chacune des parties que vous chargez, à l'exception de la dernière, doit avoir cette taille. Vous n'avez pas besoin de connaître la taille globale de l'archive lorsque vous lancez un chargement. Cependant, vous aurez besoin de connaître la taille totale, en octets, de chaque partie pour effectuer le chargement à l'étape finale.

    Dans la commande ci-dessous, remplacez les valeurs des paramètres --vault-name et --account-ID par vos propres informations. Cette commande indique que vous allez charger une archive avec des parties d'une taille d'1 mébioctet (Mio) (1 024 x 1024 octets) par fichier. Remplacez la valeur de ce paramètre --part-size si nécessaire.

    aws glacier initiate-multipart-upload --vault-name awsexamplevault --part-size 1048576 --account-id 123456789012

    Sortie attendue :

    { "location": "/123456789012/vaults/awsexamplevault/multipart-uploads/uploadId", "uploadId": "uploadId" }

    Une fois terminée, la commande affiche l'ID de téléchargement partitionné et l'emplacement de la ressource de téléchargement partitionné dans Amazon Glacier. Cet ID de chargement vous servira dans les prochaines étapes.

  2. Pour cet exemple, vous pouvez utiliser les commandes suivantes pour créer un fichier de 4,4 Mio, le scinder en fragments de 1 Mio et charger chacun de ces fragments. Pour charger vos propres fichiers, vous pouvez suivre une procédure similaire en scindant vos données en fragments et en chargeant chaque partie.

    Linux ou macOS

    La commande suivante crée un fichier de 4,4 Mio, nommé file_to_upload, sur Linux ou macOS.

    mkfile -n 9000b file_to_upload
    Windows

    La commande suivante crée un fichier de 4,4 Mio, nommé file_to_upload, sur Windows.

    fsutil file createnew file_to_upload 4608000
  3. Vous allez ensuite scinder ce fichier en fragments de 1 Mio.

    split -b 1048576 file_to_upload chunk

    Vous disposez maintenant des cinq fragments suivants. Les quatre premiers font 1 Mio, et le dernier environ 400 kibioctets (Kio).

    chunkaa chunkab chunkac chunkad chunkae
  4. Utilisez la commande upload-multipart-part pour charger une partie d'une archive. Vous pouvez charger les parties de l'archive dans n'importe quel ordre. Vous pouvez également les charger en parallèle. Vous pouvez charger jusqu'à 10 000 parties pour un chargement partitionné.

    Dans la commande suivante, remplacez les valeurs des paramètres --vault-name, --account-ID et --upload-id. L'ID de chargement doit correspondre à l'ID indiqué comme sortie de la commande initiate-multipart-upload. Le paramètre --range indique que vous allez charger une partie dont la taille est de 1 Mio (1 024 x 1 024 octets). Cette taille doit correspondre à celle que vous avez spécifiée dans la commande initiate-multipart-upload. Ajustez cette valeur de taille si nécessaire. Le paramètre --body indique le nom de la partie que vous chargez actuellement.

    aws glacier upload-multipart-part --body chunkaa --range='bytes 0-1048575/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID

    En cas de succès, la commande génère une sortie contenant le total de contrôle de la partie chargée.

  5. Exécutez une nouvelle fois la commande upload-multipart-part pour charger les parties restantes de votre chargement partitionné. Mettez à jour les valeurs des paramètres --range et –-body pour chaque commande de sorte qu'elles correspondent à la partie que vous chargez.

    aws glacier upload-multipart-part --body chunkab --range='bytes 1048576-2097151/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    aws glacier upload-multipart-part --body chunkac --range='bytes 2097152-3145727/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    aws glacier upload-multipart-part --body chunkad --range='bytes 3145728-4194303/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    aws glacier upload-multipart-part --body chunkae --range='bytes 4194304-4607999/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    Note

    La valeur du paramètre --range de la commande finale est inférieure, car notre chargement fait moins de 1 Mio. En cas de succès, chaque commande génère une sortie contenant le total de contrôle de chaque partie chargée.

  6. Ensuite, vous allez assembler l'archive et terminer le chargement. Vous devez inclure la taille totale et le hachage SHA256 arborescent de l'archive.

    Pour calculer le hachage SHA256 arborescent de l'archive, vous pouvez utiliser Java C# ou. Python Dans cet exemple, vous allez utiliser Python. Pour savoir comment utiliser Java ou C#, consultez Calcul des totaux de contrôle.

    Créez le fichier Python checksum.py et insérez le code suivant. Si nécessaire, remplacez le nom du fichier d'origine.

    from botocore.utils import calculate_tree_hash checksum = calculate_tree_hash(open('file_to_upload', 'rb')) print(checksum)
  7. Exécutez checksum.py pour calculer le hachage de SHA256 l'arbre. Le hachage suivant peut ne pas correspondre à votre sortie.

    $ python3 checksum.py $ 3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c
  8. Utilisez la commande complete-multipart-upload pour terminer le chargement de l'archive. Remplacez les valeurs des paramètres --vault-name, --account-ID, --upload-ID et --checksum. La valeur du paramètre --archive indique la taille totale, en octets, de l'archive. Cette valeur doit correspondre à la somme des tailles des différentes parties que vous avez chargées. Remplacez cette valeur si nécessaire.

    aws glacier complete-multipart-upload --archive-size 4608000 --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID --checksum checksum

    Une fois terminée, la commande affiche l'ID, la somme de contrôle et l'emplacement de l'archive dans Amazon Glacier.