Creación de un almacén en Amazon S3 Glacier con la AWS SDK for .NET - Amazon S3 Glacier

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

Si busca soluciones de almacenamiento de archivos, le sugerimos que utilice las clases de almacenamiento S3 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 Clases de almacenamiento de S3 Glacier y Almacenamiento de datos a largo plazo con clases de almacenamiento de S3 Glacier en la Guía del usuario de Amazon S3. Estas clases de almacenamiento utilizan Amazon S3API, están disponibles en todas las regiones y se pueden gestionar en la consola de Amazon S3. Ofrecen funciones como el análisis de costos de almacenamiento, Storage Lens, funciones avanzadas de cifrado opcionales y más.

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.

Creación de un almacén en Amazon S3 Glacier con la AWS SDK for .NET

Las API de alto y de bajo nivel que proporciona Amazon SDK para .NET ofrecen un método para crear un almacén.

Creación de un almacén con la API de alto nivel de AWS SDK for .NET

La clase ArchiveTransferManager de la API de alto nivel proporciona el método CreateVault, que puede usar para crear un almacén en una región de AWS.

Ejemplo: Operaciones de almacenes con la API de alto nivel de AWS SDK for .NET

En el siguiente ejemplo de código C#, se crea y se elimina un almacén en la región Oeste de EE. UU. (Oregón). Para ver una lista de las Regiones de AWS en las que se pueden crear almacenes, consulte Acceso a Amazon S3 Glacier.

Para obtener instrucciones paso a paso acerca de cómo ejecutar el ejemplo siguiente, consulte Ejecución de los ejemplos de código. Tiene que actualizar el código mostrado con un nombre de almacén.

using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class VaultCreateDescribeListVaultsDeleteHighLevel { static string vaultName = "*** Provide vault name ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); manager.CreateVault(vaultName); Console.WriteLine("Vault created. To delete the vault, press Enter"); Console.ReadKey(); manager.DeleteVault(vaultName); Console.WriteLine("\nVault deleted. To continue, press Enter"); Console.ReadKey(); } 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(); } } }

Creación de un almacén con la API de bajo nivel de AWS SDK for .NET

La API de bajo nivel dispone de métodos para todas las operaciones de almacén, incluida la creación y eliminación de almacenes, la obtención de una descripción del almacén y la obtención de una lista de almacenes creados en una determinada Región de AWS. A continuación, se indican los pasos que hay que seguir para crear un almacén mediante AWS SDK for .NET.

  1. Cree una instancia de la clase AmazonGlacierClient (el cliente).

    Debe especificar la Región de AWS en la que quiere crear el almacén. Todas las operaciones que realice con este cliente se aplicarán a esa Región de AWS.

  2. Proporcione la información de la solicitud creando una instancia de la clase CreateVaultRequest.

    Amazon S3 Glacier (S3 Glacier) requiere que proporcione el nombre del almacén 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 de AWS SDK for .NET con Amazon S3 Glacier.

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

    La respuesta que devuelve S3 Glacier está disponible en el objeto CreateVaultResponse.

Ejemplo: Operaciones de almacenes con la API de bajo nivel de AWS SDK for .NET

En el siguiente ejemplo de código C#, se ilustran los pasos anteriores. El ejemplo crea un almacén en la región Oeste de EE. UU. (Oregón). Además, el ejemplo de código recupera la información del almacén, enumera todos los almacenes de la misma Región de AWS y, después, elimina el almacén creado. El valor Location que aparece es el URI relativo del almacén, que incluye el ID de la cuenta, la Región de AWS y el nombre del almacén.

nota

Para obtener información acerca de la API de REST subyacente, consulte Creación de un almacén (almacén PUT).

Para obtener instrucciones paso a paso acerca de cómo ejecutar el ejemplo siguiente, consulte Ejecución de los ejemplos de código. Tiene que actualizar el código mostrado con un nombre de almacén.

using System; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class VaultCreateDescribeListVaultsDelete { static string vaultName = "*** Provide vault name ***"; static AmazonGlacierClient client; public static void Main(string[] args) { try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Creating a vault."); CreateAVault(); DescribeVault(); GetVaultsList(); Console.WriteLine("\nVault created. Now press Enter to delete the vault..."); Console.ReadKey(); DeleteVault(); } } 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 CreateAVault() { CreateVaultRequest request = new CreateVaultRequest() { VaultName = vaultName }; CreateVaultResponse response = client.CreateVault(request); Console.WriteLine("Vault created: {0}\n", response.Location); } static void DescribeVault() { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = vaultName }; DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest); Console.WriteLine("\nVault description..."); Console.WriteLine( "\nVaultName: " + describeVaultResponse.VaultName + "\nVaultARN: " + describeVaultResponse.VaultARN + "\nVaultCreationDate: " + describeVaultResponse.CreationDate + "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives + "\nSizeInBytes: " + describeVaultResponse.SizeInBytes + "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate ); } static void GetVaultsList() { string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { Marker = lastMarker }; ListVaultsResponse response = client.ListVaults(request); foreach (DescribeVaultOutput output in response.VaultList) { Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}", output.VaultName, output.CreationDate, output.NumberOfArchives); } lastMarker = response.Marker; } while (lastMarker != null); } static void DeleteVault() { DeleteVaultRequest request = new DeleteVaultRequest() { VaultName = vaultName }; DeleteVaultResponse response = client.DeleteVault(request); } } }