

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

# Baixe um arquivo de um cofre no Amazon Glacier usando o AWS SDK para .NET
<a name="getting-started-download-archive-dotnet"></a>

O exemplo de código C\$1 a seguir usa a API de alto nível do AWS SDK para .NET para baixar o arquivo que você carregou anteriormente. [Faça upload de um arquivo para um cofre no Amazon Glacier usando o AWS SDK para .NET](getting-started-upload-archive-dotnet.md) No exemplo de código, observe o seguinte:

 
+ O exemplo cria uma instância da classe `ArchiveTransferManager` para o endpoint especificado da região do Amazon Glacier.
+ O exemplo de código usa a Região Oeste dos EUA (Oregon) (`us-west-2`) de acordo com o local onde você previamente criou o cofre. 
+ O exemplo usa a operação `Download` API da classe `ArchiveTransferManager` para baixar seu arquivo. O exemplo cria um tópico do Amazon Simple Notification Service (Amazon SNS) e uma fila do Amazon Simple Queue Service (Amazon SQS) que está inscrita nesse tópico. Se você criou um usuário administrador AWS Identity and Access Management (IAM) conforme instruído em[Etapa 1: antes de começar com o Amazon Glacier](getting-started-before-you-begin.md), seu usuário tem as permissões IAM necessárias para a criação e o uso do tópico do Amazon SNS e da fila do Amazon SQS.
+ Em seguida, o exemplo inicia o trabalho de recuperação do arquivo e sonda a fila em busca do arquivo disponível. Assim que o arquivo estiver disponível, o download começará. Para obter informações sobre tempos de recuperação, consulte [Opções de recuperação de arquivos](downloading-an-archive-two-steps.md#api-downloading-an-archive-two-steps-retrieval-options).

Para step-by-step obter instruções sobre como executar esse exemplo, consulte[Executar exemplos de código](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet). Você deve atualizar o código conforme mostrado com o ID do arquivo que você carregou em [Etapa 3: fazer upload de um arquivo para um cofre no Amazon Glacier](getting-started-upload-archive.md). 

**Example — Baixe um arquivo usando a API de alto nível do AWS SDK para .NET**  <a name="GS_ExampleDownloadArchiveDotNet"></a>

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Transfer;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
    class ArchiveDownloadHighLevel_GettingStarted
    {
        static string vaultName = "examplevault";
        static string archiveId = "*** Provide archive ID ***";
        static string downloadFilePath = "*** Provide the file name and path to where to store the download ***";

        public static void Main(string[] args)
        {
            try
            {
                var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

                var options = new DownloadOptions();
                options.StreamTransferProgress += ArchiveDownloadHighLevel_GettingStarted.progress;
                // Download an archive.
                Console.WriteLine("Intiating the archive retrieval job and then polling SQS queue for the archive to be available.");
                Console.WriteLine("Once the archive is available, downloading will begin.");
                manager.Download(vaultName, archiveId, downloadFilePath, options);
                Console.WriteLine("To continue, press Enter");
                Console.ReadKey();
            }
            catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
            catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
            catch (Exception e) { Console.WriteLine(e.Message); }
            Console.WriteLine("To continue, press Enter");
            Console.ReadKey();
        }

        static int currentPercentage = -1;
        static void progress(object sender, StreamTransferProgressArgs args)
        {
            if (args.PercentDone != currentPercentage)
            {
                currentPercentage = args.PercentDone;
                Console.WriteLine("Downloaded {0}%", args.PercentDone);
            }
        }
    }
}
```