Como usar o AWS SDK para .NET com o Amazon Glacier - Amazon Glacier

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.

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

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 usar o AWS SDK para .NET com o Amazon Glacier

A API do AWS SDK para .NET está disponível em AWSSDK.dll. Para obter informações sobre como fazer download do AWS SDK para .NET, acesse Bibliotecas de códigos de exemplo. Conforme descrito em Como usar os SDKs da AWS com o Amazon Glacier, o AWS SDK para .NET fornece APIs de alto nível e de baixo nível.

nota

As APIs de nível inferior e superior fornecem clientes thread-safe 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 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). 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 uma 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, crie instâncias das classes CreateVaultRequest e CreateVaultResponse para fornecer informações de solicitação e receber uma resposta do Amazon Glacier, conforme mostrado no seguinte trecho de código C#:

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);

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, durante o uso do AWS SDK para .NET, o AccountId na solicitação é opcional e, assim, todos os exemplos de baixo nível neste guia não definem esse valor. Esse AccountId é o ID da Conta da AWS. Esse valor deve corresponder ao ID de Conta da AWS associado às credenciais usadas para assinar a solicitação. Especifique o ID da Conta da AWS ou opcionalmente um '-', nesse caso o Amazon Glacier usa o ID da Conta da AWS associado às credenciais usadas para assinar a solicitação. Se você especificar o ID da conta, não inclua hifens nele. Ao usar o AWS SDK para .NET, 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 do aplicativo, o AWS SDK para .NET fornece a classe ArchiveTransferManager 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 Upload e Download, para as operações de arquivo.

Por exemplo, o trecho de código do C# 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"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;

Todas as operações realizadas por você se aplicam à AWS região especificada ao criar o ArchiveTransferManager objeto . Todos os exemplos de nível superior neste guia usam esse padrão.

nota

A classe ArchiveTransferManager de nível superior ainda precisa do cliente AmazonGlacierClient de nível inferior, que você pode passar explicitamente, ou o ArchiveTransferManager criará o cliente.

Executar exemplos de código

A maneira mais fácil de começar a usar os exemplos de código .NET é instalar o AWS SDK para .NET. Para mais informações, acesse Amazon SDK para .NET.

O procedimento a seguir descreve as etapas para você testar os exemplos de código fornecidos neste guia.

Processo geral de criação dos exemplos de código do .NET (usando o Visual Studio)

1

Crie um perfil de credenciais para suas credenciais da AWS conforme descrito no tópico Amazon SDK para .NET Como configurar credenciais da AWS.

2

Crie um novo projeto do Visual Studio usando o modelo AWS Projeto Vazio.

3

Substitua o código no arquivo do projeto, Program.cs, com o código da seção que você está lendo.

4

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 https://aws.amazon.com/console/.

Definição do endpoint

Por padrão, o AWS SDK para .NET define o endpoint para a região Oeste dos EUA (Oregon) (https://glacier.us-west-2.amazonaws.com). Defina o endpoint para AWS outras regiões conforme mostrado nos trechos do C# 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.

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

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.

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

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