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
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.
Téléchargement d'une archive en une seule opération à l'aide du AWS SDK pour .NET dans Amazon Glacier
Les niveaux de haut et de bas niveau APIs fournis par le SDK Amazon pour .NET fournissent une méthode permettant de télécharger une archive en une seule opération.
Rubriques
Téléchargement d'une archive à l'aide de l'API de haut niveau du AWS SDK pour .NET
La classe ArchiveTransferManager de l'API de haut niveau fournit la méthode Upload qui permet de charger une archive dans un coffre.
Note
Vous pouvez utiliser la méthode Upload pour charger des fichiers petits ou volumineux. Selon la taille du fichier que vous chargez, cette méthode détermine si vous devez effectuer cette opération en une seule fois ou si vous devez utiliser l'API de chargement partitionné pour charger le fichier en plusieurs parties.
Exemple : téléchargement d'une archive à l'aide de l'API de haut niveau du AWS SDK pour .NET
L'exemple de code C# suivant charge une archive sur un coffre (examplevault) dans la région USA Ouest (Oregon).
Pour step-by-step obtenir des instructions sur la façon d'exécuter cet exemple, reportez-vous àExemples de code en cours d'exécution. Vous devez mettre à jour le code tel qu'il est présenté avec le nom du fichier que vous souhaitez charger.
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class ArchiveUploadHighLevel { static string vaultName = "examplevault"; static string archiveToUpload = "*** Provide file name (with full path) to upload ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); // Upload an archive. string archiveId = manager.Upload(vaultName, "upload archive test", archiveToUpload).ArchiveId; Console.WriteLine("Archive ID: (Copy and save this ID for use in other examples.) : {0}", archiveId); Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } } }
Chargement d'une archive en une seule opération à l'aide de l'API de bas niveau du AWS SDK pour .NET
L'API de bas niveau fournit des méthodes pour toutes les opérations d'archivage. Voici les étapes de chargement d'une archive à l'aide du kit AWS SDK pour .NET.
-
Créez une instance de la classe
AmazonGlacierClient(le client).Vous devez spécifier AWS la région dans laquelle vous souhaitez télécharger l'archive. Toutes les opérations que vous effectuez à l'aide de ce client s'appliquent à cette AWS région.
-
Fournissez les informations de demande en créant une instance de la classe
UploadArchiveRequest.Outre les données que vous souhaitez télécharger, vous devrez fournir un total de contrôle (hachage d'arborescence SHA-256) de la charge utile, le nom du coffre et votre ID de compte.
Si vous n'indiquez pas d'ID de compte, l'ID de compte associé aux informations d'identification que vous avez indiquées pour signer la demande est pris en compte. Pour de plus amples informations, veuillez consulter Utilisation du AWS SDK pour .NET avec Amazon Glacier.
-
Exécutez la méthode
UploadArchiveen fournissant l'objet de demande comme paramètre.En réponse, Amazon Glacier renvoie l'ID d'archive de l'archive récemment téléchargée.
Exemple : téléchargement d'une archive en une seule opération à l'aide de l'API de bas niveau du AWS SDK pour .NET
L'exemple de code C# suivant présente les étapes précédentes. L'exemple utilise le AWS SDK pour .NET pour télécharger une archive dans un coffre (examplevault).
Note
Pour plus d'informations sur l'API REST sous-jacente pour charger une archive en une seule demande, consultez Chargement d'archive (POST archive).
Pour step-by-step obtenir des instructions sur la façon d'exécuter cet exemple, reportez-vous àExemples de code en cours d'exécution. Vous devez mettre à jour le code tel qu'il est présenté avec le nom du fichier que vous souhaitez charger.
using System; using System.IO; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class ArchiveUploadSingleOpLowLevel { static string vaultName = "examplevault"; static string archiveToUpload = "*** Provide file name (with full path) to upload ***"; public static void Main(string[] args) { AmazonGlacierClient client; try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Uploading an archive."); string archiveId = UploadAnArchive(client); Console.WriteLine("Archive ID: {0}", archiveId); } } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } static string UploadAnArchive(AmazonGlacierClient client) { using (FileStream fileStream = new FileStream(archiveToUpload, FileMode.Open, FileAccess.Read)) { string treeHash = TreeHashGenerator.CalculateTreeHash(fileStream); UploadArchiveRequest request = new UploadArchiveRequest() { VaultName = vaultName, Body = fileStream, Checksum = treeHash }; UploadArchiveResponse response = client.UploadArchive(request); string archiveID = response.ArchiveId; return archiveID; } } } }