Uso de AWS SDK para .NET con Amazon Glacier - Amazon Glacier

Esta página es solo para los clientes actuales del servicio Amazon Glacier que utilizan Vaults y la API de REST original de 2012.

Si busca soluciones de almacenamiento de archivos, se recomienda 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 almacenes) 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 con sus propias API 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 hay que hacer migraciones. 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 del cliente superior con las API basadas en buckets de S3, 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 AWSGuía de soluciones para la transferencia de datos de los almacenes de Amazon Glacier a las clases de almacenamiento de Amazon S3 Glacier.

Uso de AWS SDK para .NET con Amazon Glacier

La API de AWS SDK para .NET está disponible en AWSSDK.dll. Para obtener más información sobre la descarga de AWS SDK para .NET, vaya a Bibliotecas de código de muestra. Tal y como se indica en Uso de los SDK de AWS con Amazon Glacier, AWS SDK para .NET cuenta con una API de alto nivel y una API de bajo nivel.

nota

La API de bajo nivel y la de alto nivel ofrecen clientes seguros para subprocesos que brindan acceso a Amazon Glacier. Como práctica recomendada, sus aplicaciones deben crear un cliente y reutilizar el cliente entre subprocesos.

Uso de la API de bajo nivel

La clase AmazonGlacierClient de bajo nivel proporciona todos los métodos que se asignan a las operaciones subyacentes de REST incluidas en Amazon Glacier (Amazon Glacier) (Referencia de la API para Amazon Glacier). Al llamar a alguno de estos métodos, debe crear el objeto de solicitud correspondiente y proporcionar un objeto de respuesta en el que el método pueda devolver una respuesta de Amazon Glacier a la operación.

Por ejemplo, la clase AmazonGlacierClient contiene el método CreateVault para crear un almacén. Este método se corresponde con la operación de REST Create Vault (consulte Creación de un almacén (almacén PUT)). Para poder utilizar este método, debe crear instancias de las clases CreateVaultRequest y CreateVaultResponse a fin de proporcionar información de la solicitud y recibir una respuesta de Amazon Glacier tal y como se muestra en el siguiente fragmento de código C#:

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);

En todos los ejemplos de bajo nivel de la guía se utiliza este patrón.

nota

En el segmento de código anterior, se especifica AccountId al crear la solicitud. Sin embargo, cuando se utiliza AWS SDK para .NET, el AccountId de la solicitud es opcional, por lo que este valor no se utiliza en ningún ejemplo de bajo nivel de esta guía. El valor AccountId es el ID de la Cuenta de AWS. Este valor debe coincidir con el ID de la Cuenta de AWS asociada con las credenciales que se utilizaron para firmar la solicitud. Puede especificar el ID de la Cuenta de AWS o, si lo desea, el carácter “-”, en cuyo caso Amazon Glacier utiliza el ID de la Cuenta de AWS asociada a las credenciales empleadas para firmar la solicitud. Si especifica el ID de cuenta, no incluya ningún guion en él. Cuando se utiliza AWS SDK para .NET, si no se proporciona el ID de cuenta, la biblioteca lo establece en '-'.

Uso de la API de alto nivel

Para simplificar aún más el desarrollo de las aplicaciones, AWS SDK para .NET dispone de la clase ArchiveTransferManager, que ofrece un mayor nivel de abstracción para algunos de los métodos de la API de bajo nivel. Esta clase tiene métodos útiles, como Upload y Download, para operaciones con archivos.

Por ejemplo, en el siguiente fragmento de código C#, se utiliza el método Upload de alto nivel para cargar un archivo.

string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;

Tenga en cuenta que las operaciones que realice se aplicarán a la región de AWS que especificó al crear el objeto ArchiveTransferManager. En todos los ejemplos de alto nivel de esta guía, se utiliza este patrón.

nota

La clase ArchiveTransferManager de alto nivel sigue necesitando el cliente AmazonGlacierClient de bajo nivel, que puede pasarse de forma explícita o que se puede crear a través de ArchiveTransferManager.

Ejecución de los ejemplos de código

La forma más sencilla de comenzar con los ejemplos de código .NET es instalar AWS SDK para .NET. Para obtener más información, vaya a Amazon SDK para .NET.

En el siguiente procedimiento, se detallan los pasos necesarios para probar los ejemplos de código que se incluyen en esta guía.

Proceso general para crear ejemplos de código .NET (con Visual Studio)

1

Cree un perfil de credenciales para sus credenciales de AWS según lo descrito en el tema de Amazon SDK para .NET Configuración de credenciales de AWS.

2

Cree un proyecto de Visual Studio con la plantilla Proyecto vacío de AWS.

3

Reemplace el código en el archivo de proyecto, Program.cs, con el código de la sección que lee.

4

Ejecute el código. Verifique que el objeto se cree con la Consola de administración de AWS. Para obtener más información acerca de la Consola de administración de AWS, visite http://aws.amazon.com/console/.

Configuración del punto de enlace

De forma predeterminada, AWS SDK para .NET establece el punto de conexión en la región de Oeste de EE. UU. (Oregón) (https://glacier.us-west-2.amazonaws.com). Puede establecerlo en otras regiones de AWS, tal y como se muestra en los siguientes fragmentos de C#.

En el fragmento siguiente, se muestra cómo establecer el punto de conexión en la región Oeste de EE. UU. (Oregón) (us-west-2) en la API de bajo nivel.

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

En el fragmento siguiente, se muestra cómo establecer el punto de conexión en la región Oeste de EE. UU. (Oregón) en la API de alto nivel.

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

Para ver una lista actualizada de las regiones de AWS y los puntos de conexión admitidos, consulte Acceso a Amazon Glacier.