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
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 Java
Nachfolgend werden die Schritte zum Konfigurieren von Benachrichtigungen auf einem Tresor mithilfe der Low-Level-API für das AWS SDK for Java beschrieben.
-
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.
-
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 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).
-
Führen Sie die
setVaultNotifications
-Methode aus, indem das Anforderungsobjekt als Parameter festgelegt wird.
Der folgende Java-Codeausschnitt veranschaulicht die vorherigen Schritte. Der Ausschnitt richtet eine Benachrichtigungskonfiguration auf einem Tresor ein. 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.
SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() .withAccountId("-") .withVaultName("*** provide vault name ***") .withVaultNotificationConfig( new VaultNotificationConfig() .withSNSTopic("*** provide SNS topic ARN ***") .withEvents("ArchiveRetrievalCompleted", "InventoryRetrievalCompleted") ); client.setVaultNotifications(request);
Anmerkung
Weitere Informationen zur zugrunde liegenden REST-API finden Sie unter Tresor-Operationen.
Beispiel: Einrichten der Benachrichtigungskonfiguration auf einem Tresor mithilfe des AWS SDK for Java
Das folgende Java-Codebeispiel richtet Benachrichtigungskonfiguration für einen Tresor ein, löscht die Konfiguration und stellt die Konfiguration wieder her. Eine schrittweise Anleitung zur Ausführung des folgenden Beispiels finden Sie unter Verwenden von AWS SDK for Java mit Amazon S3 Glacier.
import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.DeleteVaultNotificationsRequest; import com.amazonaws.services.glacier.model.GetVaultNotificationsRequest; import com.amazonaws.services.glacier.model.GetVaultNotificationsResult; import com.amazonaws.services.glacier.model.SetVaultNotificationsRequest; import com.amazonaws.services.glacier.model.VaultNotificationConfig; public class AmazonGlacierVaultNotifications { public static AmazonGlacierClient client; public static String vaultName = "*** provide vault name ****"; public static String snsTopicARN = "*** provide sns topic ARN ***"; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); try { System.out.println("Adding notification configuration to the vault."); setVaultNotifications(); getVaultNotifications(); deleteVaultNotifications(); } catch (Exception e) { System.err.println("Vault operations failed." + e.getMessage()); } } private static void setVaultNotifications() { VaultNotificationConfig config = new VaultNotificationConfig() .withSNSTopic(snsTopicARN) .withEvents("ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"); SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() .withVaultName(vaultName) .withVaultNotificationConfig(config); client.setVaultNotifications(request); System.out.println("Notification configured for vault: " + vaultName); } private static void getVaultNotifications() { VaultNotificationConfig notificationConfig = null; GetVaultNotificationsRequest request = new GetVaultNotificationsRequest() .withVaultName(vaultName); GetVaultNotificationsResult result = client.getVaultNotifications(request); notificationConfig = result.getVaultNotificationConfig(); System.out.println("Notifications configuration for vault: " + vaultName); System.out.println("Topic: " + notificationConfig.getSNSTopic()); System.out.println("Events: " + notificationConfig.getEvents()); } private static void deleteVaultNotifications() { DeleteVaultNotificationsRequest request = new DeleteVaultNotificationsRequest() .withVaultName(vaultName); client.deleteVaultNotifications(request); System.out.println("Notifications configuration deleted for vault: " + vaultName); } }