Configurando notificações do Vault no Amazon Glacier usando o AWS SDK para .NET - Amazon Glacier

Esta página é somente para clientes atuais do serviço Amazon Glacier que usam Vaults e a API REST original de 2012.

Se você estiver procurando por soluções de armazenamento de arquivos, recomendamos usar as classes de armazenamento Amazon 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 as classes de armazenamento do Amazon Glacier.

O Amazon Glacier (serviço autônomo original baseado em cofre) não aceitará mais novos clientes a partir de 15 de dezembro de 2025, sem impacto para os clientes existentes. 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 AWS nossa orientação de soluções 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á.

Configurando notificações do Vault no Amazon Glacier usando o AWS SDK para .NET

Estas são as etapas para configurar notificações em um cofre usando a API de nível inferior do AWS SDK para .NET.

  1. Crie uma instância da classe AmazonGlacierClient (o cliente).

    Você precisa especificar uma AWS região onde o cofre reside. Todas as operações que você executa usando esse cliente se aplicam a essa AWS região.

  2. Forneça informações de configuração da notificação criando uma instância da classe SetVaultNotificationsRequest.

    Você precisa fornecer o nome do cofre, as informações de configuração da notificação e o ID da conta. Se você não fornecer um ID da conta, o ID da conta associado às credenciais fornecidas por você para assinar a solicitação será pressuposto. Para obter mais informações, consulte Usando o AWS SDK para .NET com o Amazon Glacier.

    Especificando uma configuração de notificação, você fornece o nome do recurso da Amazon (ARN) de um tópico do Amazon SNS existente e um ou mais eventos para os quais deseja ser notificado. Para obter uma lista de eventos compatíveis, consulte Definir configuração de notificação de cofre (PUT notification-configuration).

  3. Execute o método SetVaultNotifications fornecendo o objeto de solicitação como um parâmetro.

  4. Depois de definir a configuração de notificação em um cofre, você poderá recuperar informações de configuração chamando o método GetVaultNotifications e removê-la chamando o método DeleteVaultNotifications fornecido pelo cliente.

Exemplo: definir a configuração de notificação em um cofre usando o AWS SDK para .NET

O exemplo de código do C# a seguir ilustra as etapas anteriores. O exemplo define a configuração de notificação no cofre (“examplevault”) na região oeste dos EUA (Oregon), recupera a configuração e a exclui. A configuração solicita que o Amazon Glacier (Amazon Glacier) envie uma notificação para o tópico especificado do Amazon SNS quando o evento ou ArchiveRetrievalCompleted o evento ocorrer. InventoryRetrievalCompleted

nota

Para obter informações sobre a API REST subjacente, consulte Operações de cofre.

Para step-by-step obter instruções sobre como executar o exemplo a seguir, consulteExecutar exemplos de código. Você precisa atualizar o código conforme mostrado e fornecer um nome de cofre existente, além de um tópico do Amazon SNS.

using System; using System.Collections.Generic; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class VaultNotificationSetGetDelete { static string vaultName = "examplevault"; static string snsTopicARN = "*** Provide Amazon SNS topic ARN ***"; static IAmazonGlacier client; public static void Main(string[] args) { try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Adding notification configuration to the vault."); SetVaultNotificationConfig(); GetVaultNotificationConfig(); Console.WriteLine("To delete vault notification configuration, press Enter"); Console.ReadKey(); DeleteVaultNotificationConfig(); } } 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 void SetVaultNotificationConfig() { SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() { VaultName = vaultName, VaultNotificationConfig = new VaultNotificationConfig() { Events = new List<string>() { "ArchiveRetrievalCompleted", "InventoryRetrievalCompleted" }, SNSTopic = snsTopicARN } }; SetVaultNotificationsResponse response = client.SetVaultNotifications(request); } static void GetVaultNotificationConfig() { GetVaultNotificationsRequest request = new GetVaultNotificationsRequest() { VaultName = vaultName, AccountId = "-" }; GetVaultNotificationsResponse response = client.GetVaultNotifications(request); Console.WriteLine("SNS Topic ARN: {0}", response.VaultNotificationConfig.SNSTopic); foreach (string s in response.VaultNotificationConfig.Events) Console.WriteLine("Event : {0}", s); } static void DeleteVaultNotificationConfig() { DeleteVaultNotificationsRequest request = new DeleteVaultNotificationsRequest() { VaultName = vaultName }; DeleteVaultNotificationsResponse response = client.DeleteVaultNotifications(request); } } }