Como criar um cofre no Amazon S3 Glacier usando o AWS SDK for Java - Amazon S3 Glacier

Se você é novato no Amazon Simple Storage Service (Amazon S3), recomendamos que comece aprendendo mais sobre as classes de armazenamento S3 Glacier no Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Para obter mais informações, consulte Classes de armazenamento S3 Glacier e Classes de armazenamento para arquivamento de objetos no Guia do usuário do 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á.

Como criar um cofre no Amazon S3 Glacier usando o AWS SDK for Java

A API de nível inferior fornece métodos para todas as operações de cofre, incluindo criar e excluir cofres, obter uma descrição de cofre e uma lista de cofres criados em uma Região da AWS específica. Estas são as etapas para criar um cofre usando o console do AWS SDK for Java.

  1. Crie uma instância da classe AmazonGlacierClient (o cliente).

    Você precisa especificar uma região Região da AWS na qual deseja criar um cofre. Todas as operações realizadas por você usando esse cliente se aplicam a essa Região da AWS.

  2. Forneça informações sobre a solicitação criando uma instância da classe CreateVaultRequest.

    O Amazon S3 Glacier (S3 Glacier) exige que você forneça um nome de cofre e o ID da conta. Se você não fornecer um ID da conta, o ID da conta associado às credenciais fornecidas por você para assinar a solicitação será usado. Para obter mais informações, consulte Como usar o Amazon S3 Glacier com a AWS SDK for Java.

  3. Execute o método createVault fornecendo o objeto de solicitação como um parâmetro.

    A resposta que o S3 Glacier retorna está disponível no objeto CreateVaultResult.

O trecho de código Java a seguir ilustra as etapas anteriores. O trecho cria um cofre na Região us-west-2. O Location impresso por ele é o URI relativo do cofre que inclui o ID da sua conta, a Região da AWS e o nome do cofre.

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com"); CreateVaultRequest request = new CreateVaultRequest() .withVaultName("*** provide vault name ***"); CreateVaultResult result = client.createVault(request); System.out.println("Created vault successfully: " + result.getLocation());
nota

Para obter informações sobre a API REST subjacente, consulte Create Vault (PUT vault).

Exemplos: como criar um cofre usando a AWS SDK for Java

O exemplo de código do Java a seguir cria um cofre na região us-west-2 (para obter mais informações sobre Regiões da AWS, consulte Acessar o Amazon S3 Glacier). Além disso, o exemplo de código recupera as informações do cofre, lista todos os cofres na mesma Região da AWS e exclui o cofre criado.

Para obter instruções passo a passo sobre como executar o exemplo a seguir, consulte Executar exemplos do Java para o Amazon S3 Glacier usando o Eclipse.

import java.io.IOException; import java.util.List; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.CreateVaultRequest; import com.amazonaws.services.glacier.model.CreateVaultResult; import com.amazonaws.services.glacier.model.DeleteVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultOutput; import com.amazonaws.services.glacier.model.DescribeVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultResult; import com.amazonaws.services.glacier.model.ListVaultsRequest; import com.amazonaws.services.glacier.model.ListVaultsResult; public class AmazonGlacierVaultOperations { public static AmazonGlacierClient client; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); String vaultName = "examplevaultfordelete"; try { createVault(client, vaultName); describeVault(client, vaultName); listVaults(client); deleteVault(client, vaultName); } catch (Exception e) { System.err.println("Vault operation failed." + e.getMessage()); } } private static void createVault(AmazonGlacierClient client, String vaultName) { CreateVaultRequest createVaultRequest = new CreateVaultRequest() .withVaultName(vaultName); CreateVaultResult createVaultResult = client.createVault(createVaultRequest); System.out.println("Created vault successfully: " + createVaultResult.getLocation()); } private static void describeVault(AmazonGlacierClient client, String vaultName) { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() .withVaultName(vaultName); DescribeVaultResult describeVaultResult = client.describeVault(describeVaultRequest); System.out.println("Describing the vault: " + vaultName); System.out.print( "CreationDate: " + describeVaultResult.getCreationDate() + "\nLastInventoryDate: " + describeVaultResult.getLastInventoryDate() + "\nNumberOfArchives: " + describeVaultResult.getNumberOfArchives() + "\nSizeInBytes: " + describeVaultResult.getSizeInBytes() + "\nVaultARN: " + describeVaultResult.getVaultARN() + "\nVaultName: " + describeVaultResult.getVaultName()); } private static void listVaults(AmazonGlacierClient client) { ListVaultsRequest listVaultsRequest = new ListVaultsRequest(); ListVaultsResult listVaultsResult = client.listVaults(listVaultsRequest); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); System.out.println("\nDescribing all vaults (vault list):"); for (DescribeVaultOutput vault : vaultList) { System.out.println( "\nCreationDate: " + vault.getCreationDate() + "\nLastInventoryDate: " + vault.getLastInventoryDate() + "\nNumberOfArchives: " + vault.getNumberOfArchives() + "\nSizeInBytes: " + vault.getSizeInBytes() + "\nVaultARN: " + vault.getVaultARN() + "\nVaultName: " + vault.getVaultName()); } } private static void deleteVault(AmazonGlacierClient client, String vaultName) { DeleteVaultRequest request = new DeleteVaultRequest() .withVaultName(vaultName); client.deleteVault(request); System.out.println("Deleted vault: " + vaultName); } }