Baixe um arquivo de um cofre no S3 Glacier usando o AWS SDK para Java - Amazon S3 Glacier

Esta página destina-se somente a clientes atuais do serviço S3 Glacier que usam cofres e a API REST original de 2012.

Se você estiver procurando soluções de armazenamento de arquivos, sugerimos usar as classes de armazenamento do S3 Glacier no Amazon S3: S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Para saber mais sobre essas opções de armazenamento, consulte Classes de armazenamento do Amazon S3 Glacier e Noções básicas sobre as classes de armazenamento S3 Glacier para armazenamento de dados de longo prazo no Guia do usuário do Amazon S3. Essas classes de armazenamento usam a API do Amazon S3, estão disponíveis em todas as regiões e podem ser gerenciadas no console do Amazon S3. Elas oferecem análise de custos de armazenamento, Lente de Armazenamento, recursos avançados de criptografia opcionais e muito mais.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Baixe um arquivo de um cofre no S3 Glacier usando o AWS SDK para Java

O exemplo de código Java a seguir usa a API de alto nível do AWS SDK para Java para baixar o arquivo que você carregou na etapa anterior. No exemplo de código, observe o seguinte:

  • O exemplo cria uma instância da classe AmazonGlacierClient.

  • O código usa a região Oeste dos EUA (us-west-2) de acordo com o local onde você criou o cofre em Etapa 2: criar um cofre no S3 Glacier.

  • O exemplo usa download operação API da classe ArchiveTransferManager oriundo de API de nível superior do AWS SDK para Java. O exemplo cria um tópico do Amazon Simple Notification Service (Amazon SNS) e uma fila do Amazon Simple Queue Service (Amazon SQS) que está inscrita nesse tópico. Se você criou um usuário administrador AWS Identity and Access Management (IAM) conforme instruído emEtapa 1: antes de começar com o S3 Glacier, seu usuário tem as permissões IAM necessárias para a criação e o uso do tópico do Amazon SNS e da fila do Amazon SQS.

Para step-by-step obter instruções sobre como executar esse exemplo, consulteExecutar exemplos do Java para o Amazon S3 Glacier usando o Eclipse. Você deve atualizar o código conforme mostrado com o ID do arquivo que você carregou em Etapa 3: fazer upload de um arquivo para um cofre no S3 Glacier.

exemplo Fazer download de um arquivo usando AWS SDK para 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); } } }