

 **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](https://aws.amazon.com/s3/storage-classes/glacier/).

Amazon Glacier (servicio original independiente basado en bóveda) ya no acepta nuevos clientes. 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 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](https://aws.amazon.com/s3/storage-classes/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 [AWS Guía de soluciones para la transferencia de datos de los almacenes de Amazon Glacier a las clases de almacenamiento de Amazon S3 Glacier](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/).

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 una bóveda en Amazon Glacier mediante AWS SDK para .NET
<a name="creating-vaults-dotnet-sdk"></a>

Tanto el [nivel alto como el nivel bajo](using-aws-sdk.md) que APIs proporciona Amazon SDK para .NET proporcionan un método para crear un almacén.

**Topics**
+ [Crear una bóveda mediante la API de alto nivel del AWS SDK para .NET](#create-vault-dotnet-highlevel)
+ [Creación de un almacén mediante la API de bajo nivel del AWS SDK para .NET](#create-vault-dotnet-lowlevel)

## Crear una bóveda mediante la API de alto nivel del AWS SDK para .NET
<a name="create-vault-dotnet-highlevel"></a>

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 Vault mediante la API de alto nivel del AWS SDK para .NET
<a name="vault-operations-example-dotnet-highlevel"></a>

En el siguiente ejemplo de código C\$1, se crea y se elimina un almacén en la región Oeste de EE. UU. (Oregón). Para obtener una lista de los lugares Regiones de AWS en los que puede crear almacenes, consulte. [Acceso a Amazon Glacier](amazon-glacier-accessing.md) 

Para step-by-step obtener instrucciones sobre cómo ejecutar el siguiente ejemplo, consulte. [Ejecución de los ejemplos de código](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet) Tiene que actualizar el código mostrado con un nombre de almacén. 

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Transfer;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.ca.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 mediante la API de bajo nivel del AWS SDK para .NET
<a name="create-vault-dotnet-lowlevel"></a>

La API de bajo nivel proporciona métodos para todas las operaciones del 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 los almacenes creados en un entorno específico. Región de AWS A continuación, se indican los pasos que hay que seguir para crear un almacén mediante AWS SDK para .NET. 

 

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

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

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

    Amazon Glacier (Amazon 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 para .NET con Amazon Glacier](using-aws-sdk-for-dot-net.md). 

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

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

### Ejemplo: operaciones de almacén mediante la API de bajo nivel del AWS SDK para .NET
<a name="vault-operations-example-dotnet-lowlevel"></a>

En el siguiente ejemplo de código C\$1, 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 del mismo y Región de AWS, a continuación, elimina el almacén creado. El `Location` impreso es el URI relativo de la bóveda, que incluye su ID de cuenta Región de AWS, la y el nombre de la bóveda.

**nota**  
Para obtener información acerca de la API de REST subyacente, consulte [Creación de un almacén (almacén PUT)](api-vault-put.md). 

Para step-by-step obtener instrucciones sobre cómo ejecutar el siguiente ejemplo, consulte[Ejecución de los ejemplos de código](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet). Tiene que actualizar el código mostrado con un nombre de almacén. 

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Model;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.ca.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);
    }
  }
}
```