

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

# Como usar o AWS SDK para .NET com o Amazon Glacier
<a name="using-aws-sdk-for-dot-net"></a>

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](https://aws.amazon.com/sdkfornet/). Conforme descrito em [Usando o AWS SDKs com o Amazon Glacier](using-aws-sdk.md), 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.

**Topics**
+ [Usar a API de nível inferior](#about-low-level-dotnet-api)
+ [Usar a API de nível superior](#about-high-level-dotnet-api)
+ [Executar exemplos de código](#setting-up-and-testing-sdk-dotnet)
+ [Definição do endpoint](#setting-sdk-dot-net-endpoint)

## Usar a API de nível inferior
<a name="about-low-level-dotnet-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 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)](api-vault-put.md)). 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\$1:

 

```
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
<a name="about-high-level-dotnet-api"></a>

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\$1 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 name="setting-up-and-testing-sdk-dotnet"></a>

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](https://aws.amazon.com/sdkfornet/). 

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](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/creds-assign.html).  | 
| 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/](https://aws.amazon.com/console/).  | 

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

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\$1 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**  

```
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](amazon-glacier-accessing.md).