Cette page est réservée aux clients existants du service Amazon Glacier utilisant Vaults et l'API REST d'origine datant de 2012.
Si vous recherchez des solutions de stockage d'archives, nous vous recommandons d'utiliser les classes de stockage Amazon Glacier dans Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval et S3 Glacier Deep Archive. Pour en savoir plus sur ces options de stockage, consultez les classes de stockage Amazon Glacier
Amazon Glacier (service autonome d'origine basé sur un coffre-fort) n'acceptera plus de nouveaux clients à compter du 15 décembre 2025, sans aucune incidence sur les clients existants. Amazon Glacier est un service autonome doté de son propre service APIs qui stocke les données dans des coffres-forts et qui se distingue des classes de stockage Amazon S3 et Amazon S3 Glacier. Vos données existantes resteront sécurisées et accessibles indéfiniment dans Amazon Glacier. Aucune migration n'est requise. Pour un stockage d'archivage à long terme et à faible coût AWS , nous recommandons les classes de stockage Amazon S3 Glacier
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration des notifications de coffre-fort dans Amazon Glacier à l'aide du AWS SDK pour Java
Voici les étapes pour configurer des notifications sur un coffre à l'aide de l'API de bas niveau de AWS SDK pour Java.
-
Créez une instance de la classe
AmazonGlacierClient(le client).Vous devez spécifier AWS la région dans laquelle se trouve le coffre. Toutes les opérations que vous effectuez à l'aide de ce client s'appliquent à cette AWS région.
-
Indiquez les informations sur la configuration de notification en créant une instance de la classe
SetVaultNotificationsRequest.Vous devez fournir le nom du coffre, les informations sur la configuration de notification et l'ID de compte. En spécifiant une configuration de notification, vous fournissez l'Amazon Resource Name (ARN) d'une rubrique Amazon SNS existante et un ou plusieurs événements pour lesquels vous souhaitez être notifié. Pour obtenir la liste des événements pris en charge, consultez la section Définition d'une configuration de notification de coffre (PUT notification-configuration).
-
Exécutez la méthode
setVaultNotificationsen fournissant l'objet de demande comme paramètre.
L'extrait de code Java suivant illustre les étapes précédentes. Cet extrait définit une configuration de notification sur un coffre. La configuration demande à Amazon Glacier (Amazon Glacier) d'envoyer une notification à la rubrique Amazon SNS spécifiée lorsque l'ArchiveRetrievalCompletedévénement ou l'InventoryRetrievalCompletedévénement se produit.
SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() .withAccountId("-") .withVaultName("*** provide vault name ***") .withVaultNotificationConfig( new VaultNotificationConfig() .withSNSTopic("*** provide SNS topic ARN ***") .withEvents("ArchiveRetrievalCompleted", "InventoryRetrievalCompleted") ); client.setVaultNotifications(request);
Note
Pour obtenir des informations sur l'API REST sous-jacente, consultez la section Opérations de coffre.
Exemple : Configuration de la configuration des notifications sur un coffre-fort à l'aide du AWS SDK pour Java
L'exemple de code Java suivant définit la configuration des notifications d'un coffre, la supprime, puis la restaure. Pour step-by-step obtenir des instructions sur la façon d'exécuter l'exemple suivant, reportez-vous àUtilisation du AWS SDK pour Java avec Amazon 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); } }