

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

Se você estiver procurando soluções de armazenamento de arquivos do Amazon Glacier, recomendamos usar as classes de armazenamento do 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 Glacier](https://aws.amazon.com/s3/storage-classes/glacier/).

O Amazon Glacier (serviço autônomo original baseado em cofre) não está mais aceitando novos clientes. 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](https://aws.amazon.com/s3/storage-classes/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 nossas [Orientações de soluções da AWS para transferir dados dos cofres do Amazon Glacier para as classes de armazenamento do Amazon S3 Glacier](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/).

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
<a name="using-aws-sdk-for-java"></a>

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](using-aws-sdk.md) Para obter informações sobre o download do AWS SDK para Java, consulte [Amazon SDK for Java](https://aws.amazon.com/sdkforjava/).

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

**Topics**
+ [Usar a API de nível inferior](#about-low-level-java-api)
+ [Usar a API de nível superior](#about-high-level-java-api)
+ [Executar exemplos do Java para o Amazon Glacier usando o Eclipse](#setting-up-and-testing-sdk-java)
+ [Definição do endpoint](#setting-sdk-java-endpoint)

## Usar a API de nível inferior
<a name="about-low-level-java-api"></a>

A classe `AmazonGlacierClient` de nível inferior fornece todos os métodos mapeados para as operações REST subjacentes do Amazon Glacier ( [Referência de API para Amazon Glacier](amazon-glacier-api.md)). Ao chamar qualquer um desses métodos, deve ser criado 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)](api-vault-put.md)). Para usar esse método, crie instâncias do objeto `CreateVaultResult` que recebe a resposta do Amazon Glacier conforme mostrado no seguinte trecho de código do 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
<a name="about-high-level-java-api"></a>

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

## Executar exemplos do Java para o Amazon Glacier usando o Eclipse
<a name="setting-up-and-testing-sdk-java"></a>

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](https://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](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html).   | 
| 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 Console de gerenciamento da AWS. Para obter mais informações sobre o Console de gerenciamento da AWS, acesse [http://aws.amazon.com/console/](https://aws.amazon.com/console/). | 

## Definição do endpoint
<a name="setting-sdk-java-endpoint"></a>

Por padrão, o AWS SDK para Java usa o endpoint`https://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.

**Example**  

```
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, consulte[Acessar o Amazon Glacier](amazon-glacier-accessing.md).