Konfigurieren von Tresorbenachrichtigungen in Amazon S3 Glacier mithilfe von AWS SDK for .NET - Amazon S3 Glacier

Diese Seite richtet sich nur an Bestandskunden des S3 Glacier-Dienstes, die Vaults und das Original REST API von 2012 verwenden.

Wenn Sie nach Archivspeicherlösungen suchen, empfehlen wir die Verwendung der S3 Glacier-Speicherklassen in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive. Weitere Informationen zu diesen Speicheroptionen finden Sie unter S3 Glacier-Speicherklassen und Langfristige Datenspeicherung mit S3 Glacier-Speicherklassen im Amazon S3 S3-Benutzerhandbuch. Diese Speicherklassen verwenden Amazon S3API, sind in allen Regionen verfügbar und können in der Amazon S3 S3-Konsole verwaltet werden. Sie bieten Funktionen wie Speicherkostenanalyse, Storage Lens, erweiterte optionale Verschlüsselungsfunktionen und mehr.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren von Tresorbenachrichtigungen in Amazon S3 Glacier mithilfe von AWS SDK for .NET

Nachfolgend werden die Schritte zum Konfigurieren von Benachrichtigungen auf einem Tresor mithilfe der Low-Level-API für das AWS SDK for .NET beschrieben.

  1. Erstellen einer Instance der AmazonGlacierClient-Klasse (Client).

    Sie müssen eine AWS-Region angeben, in der sich der Tresor befindet. Alle Operationen, die Sie mit diesem Client durchführen, gelten für diese AWS-Region.

  2. Stellen Sie Informationen zur Benachrichtigungskonfiguration bereit, indem Sie eine Instance der SetVaultNotificationsRequest-Klasse erstellen.

    Sie müssen den Tresornamen, Informationen zur Benachrichtigungskonfiguration und die Konto-ID bereitstellen. Wenn Sie keine Konto-ID angeben, wird die Konto-ID übernommen, die den Anmeldeinformationen zugeordnet ist, die Sie zum Signieren der Anforderung verwenden. Weitere Informationen finden Sie unter Verwenden von AWS SDK for .NET mit Amazon S3 Glacier.

    Wenn Sie eine Benachrichtigungskonfiguration angeben, stellen Sie den Amazon-Ressourcennamen (ARN) eines Amazon-SNS-Themas und eines oder mehrere Ereignisse bereit, bei denen Sie benachrichtigt werden möchten. Eine Liste der unterstützten Ereignisse finden Sie unter Set Vault Notification Configuration (PUT notification-configuration).

  3. Führen Sie die SetVaultNotifications-Methode aus, indem das Anforderungsobjekt als Parameter festgelegt wird.

  4. Nachdem Sie die Benachrichtigungskonfiguration für einen Tresor eingerichtet haben, können Sie die Konfigurationsinformationen abrufen, indem Sie die Methode GetVaultNotifications aufrufen und sie entfernen, indem Sie die vom Client bereitgestellte Methode DeleteVaultNotifications aufrufen.

Beispiel: Einrichten der Benachrichtigungskonfiguration auf einem Tresor mithilfe des AWS SDK for .NET

Im folgenden C#-Codebeispiel werden die vorstehenden Schritte veranschaulicht. Im Beispiel wird eine Benachrichtigungskonfiguration für den Tresor „examplevault“ in der Region „USA West (Oregon)“ eingerichtet, die Konfiguration abgerufen und dann gelöscht. Die Konfiguration fordert von Amazon S3 Glacier (S3 Glacier) an, eine Benachrichtigung an das angegebene Amazon-SNS-Thema zu senden, wenn entweder das Ereignis ArchiveRetrievalCompleted oder das Ereignis InventoryRetrievalCompleted eintritt.

Anmerkung

Weitere Informationen zur zugrunde liegenden REST-API finden Sie unter Tresor-Operationen.

Eine schrittweise Anleitung für die Ausführung des folgenden Beispiels finden Sie unter Ausführen von Codebeispielen. Sie müssen den Code wie gezeigt aktualisieren und einen vorhandenen Tresornamen und ein Amazon-SNS-Thema angeben.

using System; using System.Collections.Generic; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.goskope.com.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); } } }