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
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.
Tópicos
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
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.