Téléchargement d'une archive à partir d'un coffre dans S3 Glacier à l'aide d'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.

Téléchargement d'une archive à partir d'un coffre dans S3 Glacier à l'aide d'AWS SDK for Java

L'exemple de code Java suivant utilise l'API de haut niveau d'AWS SDK for Java pour télécharger l'archive que vous avez chargée à l'étape précédente. Dans l'exemple de code, notez les éléments suivants :

  • L' exemple crée une instance de la classe AmazonGlacierClient.

  • Le code utilise la région USA Ouest (Oregon) (us-west-2) qui correspond à l'emplacement du coffre que vous avez créé précédemment à l'Étape 2 : Créer un coffre dans S3 Glacier.

  • L'exemple utilise l'opération d'API download de la classe ArchiveTransferManager issue de l'API de haut niveau d'AWS SDK for Java. L'exemple crée une rubrique Amazon Simple Notification Service (Amazon SNS) et une file d'attente Amazon Simple Queue Service (Amazon SQS) qui est abonnée à cette rubrique. Si vous avez créé un utilisateur administrateur AWS Identity and Access Management (IAM) comme indiqué à l'Étape 1 : Avant de commencer avec S3 Glacier, l'utilisateur dispose des autorisations IAM nécessaires pour créer et utiliser la rubrique Amazon SNS et la file d'attente Amazon SQS.

Pour obtenir les instructions étape par étape permettant d'exécuter cet exemple, consultez la section Exécution d'exemples Java pour Amazon S3 Glacier en utilisant Eclipse. Vous devez mettre à jour le code tel qu'il est présenté avec l'ID d'archive du fichier que vous avez chargé à l'Étape 3 : Charger une archive sur un coffre dans S3 Glacier.

Exemple – Téléchargement d'une archive à l'aide d'AWS SDK for Java
import java.io.File; import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.transfer.ArchiveTransferManager; import com.amazonaws.services.sns.AmazonSNSClient; import com.amazonaws.services.sqs.AmazonSQSClient; public class AmazonGlacierDownloadArchive_GettingStarted { public static String vaultName = "examplevault"; public static String archiveId = "*** provide archive ID ***"; public static String downloadFilePath = "*** provide location to download archive ***"; public static AmazonGlacierClient glacierClient; public static AmazonSQSClient sqsClient; public static AmazonSNSClient snsClient; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); 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"); try { ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient); atm.download(vaultName, archiveId, new File(downloadFilePath)); } catch (Exception e) { System.err.println(e); } } }