Usando o AWS SDK para Java com o Amazon Glacier - Amazon Glacier

Esta página é somente para clientes atuais do serviço Amazon Glacier que usam Vaults e a API REST original de 2012.

Se você estiver procurando por soluções de armazenamento de arquivos, recomendamos usar as classes de armazenamento Amazon 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 as classes de armazenamento do Amazon Glacier.

O Amazon Glacier (serviço autônomo original baseado em cofre) não aceitará mais novos clientes a partir de 15 de dezembro de 2025, sem impacto para os clientes existentes. O Amazon Glacier é um serviço independente APIs que armazena dados em cofres e é diferente das classes de armazenamento Amazon S3 e Amazon S3 Glacier. Seus dados existentes permanecerão seguros e acessíveis no Amazon Glacier indefinidamente. Nenhuma migração é necessária. Para armazenamento de arquivamento de baixo custo e longo prazo, AWS recomenda as classes de armazenamento Amazon S3 Glacier, que oferecem uma experiência superior ao cliente com APIs base em buckets S3, disponibilidade Região da AWS total, custos mais baixos e integração de serviços. AWS Se você quiser recursos aprimorados, considere migrar para as classes de armazenamento do Amazon S3 Glacier usando AWS nossa orientação de soluções para transferir dados dos cofres do Amazon Glacier para as classes de armazenamento do Amazon S3 Glacier.

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á.

Usando o AWS SDK para Java com o Amazon Glacier

O AWS SDK para Java fornece alto e baixo nível APIs para o Amazon Glacier (Amazon Glacier), conforme descrito em. Usando o AWS SDKs com o Amazon Glacier Para obter informações sobre o download do AWS SDK para Java, consulte Amazon SDK for Java.

nota

AWS SDK para Java Ele fornece clientes seguros para acessar o Amazon Glacier. De acordo com as melhores práticas, seus aplicativos devem criar um único cliente e reutilizá-lo entre os threads.

Usar a API de nível inferior

A AmazonGlacierClient classe de baixo nível fornece todos os métodos mapeados para as operações REST subjacentes do Amazon Glacier Referência de API para Amazon Glacier (). Ao chamar qualquer um desses métodos, você deve criar um objeto de solicitação correspondente e fornecer um objeto de resposta no qual o método possa retornar a resposta do Amazon Glacier à operação.

Por exemplo, a classe AmazonGlacierClient fornece o método createVault para criar um cofre. Esse método é mapeado para a operação REST Create Vault (consulte Create Vault (PUT vault)). Para usar esse método, você deve criar instâncias do CreateVaultResult objeto que recebe a resposta do Amazon Glacier, conforme mostrado no seguinte trecho de código Java:

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);

Todos os exemplos de nível inferior no guia usam esse padrão.

nota

O segmento do código anterior especifica AccountID durante a criação da solicitação. No entanto, ao usar o AWS SDK para Java, o AccountId na solicitação é opcional e, portanto, todos os exemplos de baixo nível neste guia não definem esse valor. Esse AccountId é o Conta da AWS ID. Esse valor deve corresponder ao Conta da AWS ID associado às credenciais usadas para assinar a solicitação. Você pode especificar o Conta da AWS ID ou, opcionalmente, um '-'. Nesse caso, o Amazon Glacier usa Conta da AWS o ID associado às credenciais usadas para assinar a solicitação. Se você especificar o ID da conta, não inclua hifens nele. Ao usar AWS SDK para Java, se você não fornecer o ID da conta, a biblioteca definirá o ID da conta como '-'.

Usar a API de nível superior

Para simplificar ainda mais o desenvolvimento de seu aplicativo, o AWS SDK para Java fornece a ArchiveTransferManager classe que implementa uma abstração de alto nível para alguns dos métodos na API de baixo nível. Ele fornece métodos úteis, como os métodos upload e download, para operações de arquivo.

Por exemplo, o trecho de código do Java a seguir usa o método de nível superior upload para fazer upload de um arquivo.

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();

Observe que todas as operações realizadas se aplicam à AWS região especificada ao criar o ArchiveTransferManager objeto. Se você não especificar nenhuma AWS região, ela será AWS SDK para Java definida us-east-1 como a AWS região padrão.

Todos os exemplos de nível superior neste guia usam esse padrão.

nota

A classe ArchiveTransferManager de nível superior pode ser construída com uma instância AmazonGlacierClient ou AWSCredentials.

Executando exemplos de Java para o Amazon Glacier usando o Eclipse

A maneira mais fácil de começar a usar os exemplos de código Java é instalar o AWS Toolkit for Eclipse mais recente. Para obter informações sobre como instalar ou atualizar para o toolkit mais recente, vá até http://aws.amazon.com/eclipse. As tarefas a seguir orientam você em meio à criação e aos testes dos exemplos de código do Java fornecidos nesta seção.

Processo geral de criação de exemplos de código Java

1

Crie um perfil de credenciais padrão para suas AWS credenciais, conforme descrito no AWS SDK para Java tópico Fornecendo AWS credenciais no Amazon SDK for Java.

2

Crie um novo projeto AWS Java no Eclipse. O projeto é pré-configurado com o AWS SDK para Java.

3

Copie o código da seção que você está lendo ao projeto.

4

Atualize o código fornecendo todos os dados necessários. Por exemplo, se estiver fazendo o upload de um arquivo, forneça o caminho do arquivo e o nome do bucket.

5

Execute o código. Verifique se o objeto é criado usando o AWS Management Console. Para obter mais informações sobre o AWS Management Console, acesse http://aws.amazon.com/console/.

Definição do endpoint

Por padrão, o AWS SDK para Java usa o endpointhttps://glacier.us-east-1.amazonaws.com. Você pode definir o endpoint explicitamente conforme mostrado nos trechos de código do Java a seguir.

O trecho de código a seguir mostra como definir o endpoint para a região Oeste dos EUA (Oregon) (us-west-2) na API de nível inferior.

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

O trecho de código a seguir mostra como definir o endpoint para a região oeste dos EUA (Oregon) na API de nível superior.

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);

Para obter uma lista de AWS regiões e endpoints compatíveis, consulteAcessando o Amazon Glacier.