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
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 Java avec Amazon S3 Glacier
L'AWS SDK for Java fournit des API de bas et haut niveau pour Amazon S3 Glacier (S3 Glacier), comme décrit dans Utilisation des AWS kits SDK avec Amazon S3 Glacier. Pour en savoir plus sur le téléchargement d'AWS SDK for Java, consultez Kit SDK Amazon pour Java
Note
L'AWS SDK for Java fournit 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.
Rubriques
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 de 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 la 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 de l'objet CreateVaultResult
qui reçoit la réponse de S3 Glacier, comme l'illustre 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, lors de l'utilisation du kit AWS SDK for Java, 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 Java, 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 Java 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 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 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
. Si vous ne spécifiez pas de région AWS, AWS SDK for Java définit us-east-1
comme région AWS 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 S3 Glacier en utilisant 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
1 |
Créez un profil d'informations d'identification par défaut pour vos informations d'identification AWS, comme indiqué dans la rubrique Spécification des informations d'identification AWS dans le kit SDK Amazon pour Java de la documentation AWS SDK for Java. |
2 |
Créez un projet Java AWS dans Eclipse. Ce projet est préconfiguré avec le kit AWS SDK for 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 sur la AWS Management Console, accédez à la page http://aws.amazon.com/console/ |
Définition du point de terminaison
Par défaut, le kit AWS SDK for Java utilise le point de terminaison https://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 régions AWS et des points de terminaison pris en charge, consultez Accès à Amazon S3 Glacier.