Configuración de las notificaciones de Vault en Amazon Glacier mediante AWS SDK para .NET - Amazon Glacier

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, que ofrecen una experiencia de cliente superior con S3 basada en cubos APIs, Región de AWS disponibilidad total, costos más bajos e AWS integración de servicios. Si desea mejorar las capacidades, considere la posibilidad de migrar a las clases de almacenamiento de Amazon S3 Glacier mediante nuestra Guía de AWS soluciones para transferir datos de los almacenes de Amazon Glacier a las clases de almacenamiento de 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 AWS SDK para .NET

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 .NET.

  1. 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.

  2. 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. Si no proporciona el ID de la cuenta, se presumirá que se trata del ID de cuenta asociado a las credenciales proporcionadas para firmar la solicitud. Para obtener más información, consulte Uso del AWS SDK para .NET con Amazon Glacier.

    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).

  3. Ejecute el método SetVaultNotifications proporcionando el objeto de solicitud como parámetro.

  4. Una vez que la configuración de las notificaciones está establecida en un almacén, puede recuperar esta información llamando al método GetVaultNotifications y eliminarla con el método DeleteVaultNotifications proporcionado por el cliente.

Ejemplo: establecer la configuración de notificaciones en un almacén mediante el AWS SDK para .NET

En el siguiente ejemplo de código C#, se ilustran los pasos anteriores. El ejemplo establece la configuración de las notificaciones del almacén ("examplevault") en la región Oeste de EE. UU. (Oregón), recupera la configuración y, después, la elimina. 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.

nota

Para obtener información acerca de la API de REST subyacente, consulte Operaciones de almacén.

Para step-by-step obtener instrucciones sobre cómo ejecutar el siguiente ejemplo, consulteEjecución de los ejemplos de código. Es necesario actualizar el código que se muestra y proporcionar el nombre de un almacén existente, así como un tema de 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); } } }