Utilisation du AWS SDK pour Java avec Amazon Glacier - 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.

Utilisation du AWS SDK pour Java avec Amazon Glacier

AWS SDK pour Java Il fournit à la fois un haut niveau et un bas niveau APIs pour Amazon Glacier (Amazon Glacier), comme décrit dansUtilisation du AWS SDKs avec Amazon Glacier. Pour plus d'informations sur le téléchargement du AWS SDK pour Java, consultez Amazon SDK for Java.

Note

AWS SDK pour Java fournit des clients sécurisés pour accéder à Amazon 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 AmazonGlacierClient classe de bas niveau fournit toutes les méthodes qui correspondent aux opérations REST sous-jacentes d'Amazon Glacier (Référence d'API pour Amazon 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 la réponse d'Amazon 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 de l'CreateVaultResultobjet qui reçoit la réponse d'Amazon Glacier, comme indiqué dans l'extrait de code Java suivant :

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); CreateVaultRequest request = new CreateVaultRequest() .withAccountId("-") .withVaultName(vaultName); CreateVaultResult result = client.createVault(createVaultRequest);

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, lorsque vous utilisez le AWS SDK pour Java, le AccountId contenu de la requête est facultatif. Par conséquent, tous les exemples de bas niveau de ce guide ne définissent pas cette valeur. AccountIdC'est l' Compte AWS identifiant. Cette valeur doit correspondre à l' Compte AWS ID associé aux informations d'identification utilisées pour signer la demande. Vous pouvez spécifier l' Compte AWS ID ou éventuellement un « - », auquel cas Amazon Glacier utilise l' Compte AWS ID 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. Lors de l'utilisation AWS SDK pour Java, si vous ne fournissez pas l'identifiant du compte, la bibliothèque définit l'identifiant du compte sur « - ».

Utilisation de l'API de haut niveau

Pour simplifier davantage le développement de votre application, la classe AWS SDK pour Java fournit la ArchiveTransferManager classe qui implémente une abstraction de niveau supérieur 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 Java suivant utilise la méthode de haut niveau upload pour charger une archive.

String vaultName = "examplevault"; String archiveToUpload = "c:/folder/exampleArchive.zip"; ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials); String archiveId = atm.upload(vaultName, "Tax 2012 documents", new File(archiveToUpload)).getArchiveId();

Notez que toutes les opérations que vous effectuez s'appliquent à la AWS région que vous avez spécifiée lors de la création de l'ArchiveTransferManagerobjet. Si vous ne spécifiez aucune AWS région, elle est AWS SDK pour Java définie us-east-1 comme AWS région par défaut.

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

Note

La classe ArchiveTransferManager de haut niveau peut être construite avec une instance AmazonGlacierClient ou AWSCredentials.

Exécution d'exemples Java pour Amazon Glacier à l'aide d'Eclipse

Pour démarrer avec les exemples de code Java, la méthode la plus simple consiste à installer le kit AWS Toolkit for Eclipse le plus récent. Pour plus d'informations sur l'installation ou la mise à jour de la boîte à outils la plus récente, accédez à la page http://aws.amazon.com/eclipse. Les tâches suivantes vous guident à travers la création et le test des exemples de code Java fournis dans cette section.

Procédure générale de création d'exemples de code Java

1

Créez un profil d'identification par défaut pour vos AWS informations d'identification, comme décrit dans la AWS SDK pour Java rubrique Fournir des AWS informations d'identification dans le SDK Amazon pour Java.

2

Créez un nouveau projet AWS Java dans Eclipse. Ce projet est préconfiguré avec le kit AWS SDK pour Java.

3

Copiez le code dans la section que vous êtes en train de consulter et collez-le dans votre projet.

4

Mettez à jour le code en fournissant les données requises. Par exemple, si vous chargez un fichier, indiquez le chemin du fichier et le nom du compartiment.

5

Exécutez le code. Vérifiez si l'objet a été créé à l'aide de AWS Management Console. Pour plus d'informations à ce sujet AWS Management Console, rendez-vous sur http://aws.amazon.com/console/.

Définition du point de terminaison

Par défaut, il AWS SDK pour Java utilise le point de terminaisonhttps://glacier.us-east-1.amazonaws.com. Vous pouvez définir le point de terminaison de manière explicite, comme illustré dans les extraits de code Java 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.

client = new AmazonGlacierClient(credentials); client.setEndpoint("glacier.us-west-2.amazonaws.com");

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.

glacierClient = new AmazonGlacierClient(credentials); sqsClient = new AmazonSQSClient(credentials); snsClient = new AmazonSNSClient(credentials); glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com"); sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com"); snsClient.setEndpoint("sns.us-west-2.amazonaws.com"); ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);

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