Utilisation d'AWS SDK for .NET avec Amazon S3 Glacier - Amazon S3 Glacier

Cette page s'adresse uniquement aux clients existants du service S3 Glacier utilisant Vaults et l'API REST d'origine datant 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 l'API Amazon S3, 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 sécurité, notamment de multiples options de cryptage, 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.

Utilisation d'AWS SDK for .NET avec Amazon S3 Glacier

L'API AWS SDK for .NET est disponible dans AWSSDK.dll. Pour plus d'informations sur le téléchargement du kit AWS SDK for .NET, accédez à la page Exemples de bibliothèques de code. Comme décrit dans la page Utilisation des AWS kits SDK avec Amazon S3 Glacier, le kit AWS SDK for .NET fournit à la fois les API de haut et de bas niveaux.

Note

Les API de bas et haut niveau fournissent des clients thread-safe pour accéder à S3 Glacier. En tant que bonne pratique, vos applications doivent créer un seul client et le réutiliser entre les threads.

Utilisation de l'API de bas niveau

La classe AmazonGlacierClient de bas niveau fournit toutes les méthodes correspondant aux opérations REST sous-jacentes d'Amazon S3 Glacier (S3 Glacier) (Informations de référence sur les API pour Amazon S3 Glacier). Lorsque vous appelez l'une de ces méthodes, vous devez créer un objet de demande correspondant et fournir un objet de réponse dans lequel la méthode peut renvoyer une réponse de S3 Glacier à l'opération.

Par exemple, la classe AmazonGlacierClient fournit la méthode CreateVault pour créer un coffre. Cette méthode est mappée à l'opération REST de création de coffre sous-jacente (consultez la section Création de coffre (PUT vault)). Pour utiliser cette méthode, vous devez créer des instances des classes CreateVaultRequest et CreateVaultResponse afin de fournir les informations de la demande et recevoir une réponse de S3 Glacier, comme l'illustre l'extrait de code C# suivant :

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);

Tous les exemples de bas niveau de ce manuel utilisent ce modèle.

Note

Le segment de code précédent spécifie la valeur AccountId lors de la création de la demande. Toutefois, lors de l'utilisation du kit AWS SDK for .NET, il n'est pas nécessaire de spécifier la valeur AccountId dans la demande, par conséquent, aucun des exemples de bas niveau illustrés dans ce guide ne définit cette valeur. La valeur de AccountId est l'ID de Compte AWS. Cette valeur doit correspondre à l'ID de Compte AWS associé aux informations d'identification utilisées pour signer la demande. Vous pouvez spécifier l'ID de Compte AWS ou un « - » facultatif. Dans ce cas, S3 Glacier utilise l'ID de Compte AWS associé aux informations d'identification utilisées pour signer la demande. Si vous spécifiez votre ID de compte, n'incluez pas les traits d'union. Lorsque vous utilisez le kit AWS SDK for .NET, si vous ne fournissez pas l'ID de compte, la bibliothèque définit l'ID de compte sur '-'.

Utilisation de l'API de haut niveau

Pour simplifier davantage le développement de vos applications, le kit AWS SDK for .NET fournit la classe ArchiveTransferManager qui implémente une abstraction de plus haut niveau pour certaines des méthodes de l'API de bas niveau. Il fournit des méthodes utiles, telles que les méthodes Upload et Download, pour les opérations d'archivage.

Par exemple, l'extrait de code C suivant utilise la méthode de haut niveau Upload pour charger une archive.

string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;

Notez que les opérations que vous effectuez s'appliquent à la région AWS que vous avez spécifiée lors de la création de l'objet ArchiveTransferManager. Tous les exemples de haut niveau de ce manuel utilisent ce modèle.

Note

La classe ArchiveTransferManager de haut niveau a toujours besoin du client AmazonGlacierClient de bas niveau, que vous pouvez passer explicitement ou le ArchiveTransferManager crée le client.

Exemples de code en cours d'exécution

Pour démarrer avec les exemples de code .NET, la méthode la plus simple consiste à installer le kit AWS SDK for .NET. Pour plus d'informations, accédez à la documentation Kit SDK Amazon pour .NET.

La procédure suivante décrit les étapes qui vous permettront de tester les exemples de code proposés dans ce manuel.

1

Créez un profil d'informations d'identification pour vos informations d'identification AWS, comme indiqué dans la rubrique Configuration des informations d'identification AWS de la documentation du kit SDK Amazon pour .NET.

2

Créez un projet Visual Studio en utilisant le modèle Projet vide AWS.

3

Dans le fichier de projet Program.cs, remplacez le code par celui figurant dans la section que vous consultez actuellement.

4

Exécutez le code. Vérifiez si l'objet a été créé à l'aide de AWS Management Console. Pour plus d'informations sur la AWS Management Console, accédez à la page http://aws.amazon.com/console/.

Définition du point de terminaison

Par défaut, AWS SDK for .NET définit le point de terminaison sur la région USA Ouest (Oregon) (https://glacier.us-west-2.amazonaws.com). Vous pouvez définir le point de terminaison sur d'autres régions AWS, comme le montrent les extraits de code C# suivants.

L'extrait de code suivant montre comment définir le point de terminaison sur la région USA Ouest (Oregon) (us-west-2) dans l'API de bas niveau.

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

L'extrait de code suivant montre comment définir le point de terminaison sur la région USA Ouest (Oregon) dans l'API de haut niveau.

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

Pour obtenir la liste actuelle des régions AWS et des points de terminaison pris en charge, consultez Accès à Amazon S3 Glacier.