Esta página destina-se somente a clientes atuais do serviço S3 Glacier que usam cofres e a API REST original de 2012.
Se você estiver procurando soluções de armazenamento de arquivos, sugerimos usar as classes de armazenamento do S3 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 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á.
Fazer download de um arquivo de um cofre no S3 Glacier usando AWS SDK for .NET
O exemplo de código C# a seguir usa a API de nível superior de AWS SDK for .NET para fazer download do arquivo do qual você fez upload em Fazer upload de um arquivo para um cofre no S3 Glacier usando AWS SDK for .NET. 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 S3 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 classeArchiveTransferManager
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 AWS Identity and Access Management usuário administrativo (IAM) conforme as instruções em Etapa 1: antes de começar com o S3 Glacier, seu usuário tem as permissões IAM necessárias para criar e usar o tópico do Amazon SNS e a 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.
Para instruções detalhadas sobre como executar esse exemplo, consulte Executar exemplos de código. 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 S3 Glacier.
exemplo Fazer download de um arquivo usando a API de nível superior de AWS SDK for .NET
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.goskope.com.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); } } } }