Esta página es solo para los clientes actuales del servicio Amazon Glacier que utilizan Vaults y la API REST original de 2012.
Si busca soluciones de almacenamiento de archivos, le recomendamos que utilice las clases de almacenamiento de Amazon Glacier en Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval y S3 Glacier Deep Archive. Para obtener más información sobre estas opciones de almacenamiento, consulte las clases de almacenamiento de Amazon Glacier
Amazon Glacier (servicio original independiente basado en bóveda) ya no aceptará nuevos clientes a partir del 15 de diciembre de 2025, sin que ello afecte a los clientes actuales. Amazon Glacier es un servicio independiente propio APIs que almacena datos en almacenes y es distinto de las clases de almacenamiento Amazon S3 y Amazon S3 Glacier. Sus datos actuales permanecerán seguros y accesibles en Amazon Glacier de forma indefinida. No se requiere ninguna migración. Para un almacenamiento de archivos a largo plazo y de bajo costo, AWS recomienda las clases de almacenamiento Amazon S3 Glacier
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de las notificaciones de Vault en Amazon Glacier mediante el AWS SDK para Java
A continuación, se indican los pasos necesarios para configurar las notificaciones de un almacén con la API de bajo nivel de AWS SDK para Java.
-
Cree una instancia de la clase
AmazonGlacierClient(el cliente).Debe especificar la AWS región en la que reside el almacén. Todas las operaciones que realice con este cliente se aplican a esa AWS región.
-
Para facilitar la información de configuración de las notificaciones, cree una instancia de la clase
SetVaultNotificationsRequest.Debe proporcionar el nombre del almacén, la información de configuración de las notificaciones y el ID de la cuenta. Al especificar la configuración de las notificaciones, tiene que proporcionar el nombre de recurso de Amazon (ARN) de un tema de Amazon SNS existente y uno o varios eventos para los que quiere recibir notificaciones. Para obtener una lista de los eventos compatibles, consulte Establecimiento de la configuración de notificación del almacén (PUT configuración-notificaciones).
-
Ejecute el método
setVaultNotificationsproporcionando el objeto de solicitud como parámetro.
En el siguiente fragmento de código Java, se ilustran los pasos anteriores. En el fragmento de código, se establece la configuración de las notificaciones de un almacén. La configuración solicita a Amazon Glacier (Amazon Glacier) que envíe una notificación al tema de Amazon SNS especificado cuando se ArchiveRetrievalCompleted produzca el evento o el InventoryRetrievalCompleted evento.
SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() .withAccountId("-") .withVaultName("*** provide vault name ***") .withVaultNotificationConfig( new VaultNotificationConfig() .withSNSTopic("*** provide SNS topic ARN ***") .withEvents("ArchiveRetrievalCompleted", "InventoryRetrievalCompleted") ); client.setVaultNotifications(request);
nota
Para obtener información acerca de la API de REST subyacente, consulte Operaciones de almacén.
Ejemplo: establecer la configuración de notificaciones en un almacén mediante el AWS SDK para Java
En el siguiente ejemplo de código Java, se establece la configuración de las notificaciones, se elimina la configuración y después se vuelve a restaurar. Para step-by-step obtener instrucciones sobre cómo ejecutar el siguiente ejemplo, consulteUso del AWS SDK para Java con 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); } }