Création d'un coffre dans Amazon S3 Glacier à l'aide de l'AWS SDK for Java - Amazon S3 Glacier

Cette page est réservée aux clients existants du service S3 Glacier utilisant Vaults et l'original REST API 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 Amazon S3API, 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 chiffrement optionnelles avancées, 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.

Création d'un coffre dans Amazon S3 Glacier à l'aide de l'AWS SDK for Java

L'API de bas niveau propose des méthodes pour toutes les opérations liées aux coffres : création et suppression de coffres, obtention de la description d'un coffre, obtention de la liste des coffres créés dans une Région AWS déterminée, etc. Voici les étapes de création d'un coffre à l'aide de AWS SDK for Java.

  1. Créez une instance de la classe AmazonGlacierClient (le client).

    Vous devez spécifier la Région AWS dans laquelle vous souhaitez créer un coffre. Toutes les opérations que vous effectuez à l'aide de ce client s'appliquent à cette Région AWS.

  2. Fournissez les informations de demande en créant une instance de la classe CreateVaultRequest.

    Amazon S3 Glacier (S3 Glacier) vous demande de fournir un nom de coffre et l'ID de votre compte. Si vous n'indiquez pas d'ID de compte, le système utilise l'ID de compte associé aux informations d'identification que vous avez indiquées pour signer la demande. Pour de plus amples informations, veuillez consulter Utilisation d'AWS SDK for Java avec Amazon S3 Glacier.

  3. Exécutez la méthode createVault en fournissant l'objet de demande comme paramètre.

    La réponse renvoyée par S3 Glacier est disponible dans l'objet CreateVaultResult.

L'extrait de code Java suivant illustre les étapes précédentes. L'extrait crée un coffre dans la région us-west-2. L'emplacement Location imprimé est l'URI relatif du coffre qui comprend l'ID de votre compte, la Région AWS et le nom du coffre.

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com"); CreateVaultRequest request = new CreateVaultRequest() .withVaultName("*** provide vault name ***"); CreateVaultResult result = client.createVault(request); System.out.println("Created vault successfully: " + result.getLocation());
Note

Pour obtenir des informations sur l'API REST sous-jacente, consultez la section Création de coffre (PUT vault).

Exemple : création d'un coffre à l'aide de l’AWS SDK for Java

L'exemple de code Java suivant crée un coffre dans la région us-west-2 (pour plus d'informations sur les Régions AWS, consultez Accès à Amazon S3 Glacier). Par ailleurs, l'exemple de code extrait les informations de coffre, affiche la liste de tous les coffres situés dans une même Région AWS, puis supprime le coffre créé.

Pour obtenir les instructions étape par étape sur la façon d'exécuter l'exemple suivant, consultez la section Exécution d'exemples Java pour Amazon S3 Glacier en utilisant Eclipse.

import java.io.IOException; import java.util.List; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.CreateVaultRequest; import com.amazonaws.services.glacier.model.CreateVaultResult; import com.amazonaws.services.glacier.model.DeleteVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultOutput; import com.amazonaws.services.glacier.model.DescribeVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultResult; import com.amazonaws.services.glacier.model.ListVaultsRequest; import com.amazonaws.services.glacier.model.ListVaultsResult; public class AmazonGlacierVaultOperations { public static AmazonGlacierClient client; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); String vaultName = "examplevaultfordelete"; try { createVault(client, vaultName); describeVault(client, vaultName); listVaults(client); deleteVault(client, vaultName); } catch (Exception e) { System.err.println("Vault operation failed." + e.getMessage()); } } private static void createVault(AmazonGlacierClient client, String vaultName) { CreateVaultRequest createVaultRequest = new CreateVaultRequest() .withVaultName(vaultName); CreateVaultResult createVaultResult = client.createVault(createVaultRequest); System.out.println("Created vault successfully: " + createVaultResult.getLocation()); } private static void describeVault(AmazonGlacierClient client, String vaultName) { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() .withVaultName(vaultName); DescribeVaultResult describeVaultResult = client.describeVault(describeVaultRequest); System.out.println("Describing the vault: " + vaultName); System.out.print( "CreationDate: " + describeVaultResult.getCreationDate() + "\nLastInventoryDate: " + describeVaultResult.getLastInventoryDate() + "\nNumberOfArchives: " + describeVaultResult.getNumberOfArchives() + "\nSizeInBytes: " + describeVaultResult.getSizeInBytes() + "\nVaultARN: " + describeVaultResult.getVaultARN() + "\nVaultName: " + describeVaultResult.getVaultName()); } private static void listVaults(AmazonGlacierClient client) { ListVaultsRequest listVaultsRequest = new ListVaultsRequest(); ListVaultsResult listVaultsResult = client.listVaults(listVaultsRequest); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); System.out.println("\nDescribing all vaults (vault list):"); for (DescribeVaultOutput vault : vaultList) { System.out.println( "\nCreationDate: " + vault.getCreationDate() + "\nLastInventoryDate: " + vault.getLastInventoryDate() + "\nNumberOfArchives: " + vault.getNumberOfArchives() + "\nSizeInBytes: " + vault.getSizeInBytes() + "\nVaultARN: " + vault.getVaultARN() + "\nVaultName: " + vault.getVaultName()); } } private static void deleteVault(AmazonGlacierClient client, String vaultName) { DeleteVaultRequest request = new DeleteVaultRequest() .withVaultName(vaultName); client.deleteVault(request); System.out.println("Deleted vault: " + vaultName); } }