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á.
Configurar notificações de cofre no Amazon S3 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.
-
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.
-
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 S3 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).
-
Execute o método
SetVaultNotifications
fornecendo o objeto de solicitação como um parâmetro. -
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étodoDeleteVaultNotifications
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 S3 Glacier (S3 Glacier) envie uma notificação para o tópico Amazon SNS especificado quando o evento ArchiveRetrievalCompleted
ou o InventoryRetrievalCompleted
ocorre.
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); } } }