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
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
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.
Temas
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.
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, |
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.