Fazer upload de um arquivo para um cofre no Amazon Glacier usando AWS SDK para .NET - 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á.

Fazer upload de um arquivo para um cofre no Amazon Glacier usando AWS SDK para .NET

O exemplo de código do C# a seguir usa a API de nível superior do AWS SDK para .NET para fazer upload do arquivo de amostra para o cofre. 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.

  • Esse exemplo de código usa a região Oeste dos EUA (Oregon) us-west-2.

  • O exemplo usa a operação Upload da classe ArchiveTransferManager para fazer upload do arquivo. Para arquivos pequenos, esse método faz upload do arquivo diretamente no Amazon Glacier. Para arquivos maiores, esta operação usa a operação de API de upload multiparte no Amazon Glacier para dividir o upload multiparte para melhor recuperação de erros, se algum erro for encontrado durante o streaming dos dados para o Amazon Glacier.

Para obter instruções passo a passo sobre como executar o exemplo a seguir, consulte Executar exemplos de código. Você precisa atualizar o código conforme mostrado com o nome do cofre e o nome do arquivo do qual deve ser feito upload.

nota

O Amazon Glacier mantém um inventário de todos os arquivos nos cofres. Quando você fizer upload do arquivo no exemplo a seguir, ele não será exibido em um cofre no console de gerenciamento até o inventário de cofre ter sido atualizado. Essa atualização normalmente acontece uma vez por dia.

exemplo Fazer upload de um arquivo usando a API de nível superior do AWS SDK para .NET
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class ArchiveUploadHighLevel_GettingStarted { static string vaultName = "examplevault"; static string archiveToUpload = "*** Provide file name (with full path) to upload ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); // Upload an archive. string archiveId = manager.Upload(vaultName, "getting started archive test", archiveToUpload).ArchiveId; Console.WriteLine("Copy and save the following Archive ID for the next step."); Console.WriteLine("Archive ID: {0}", archiveId); 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(); } } }