

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

# Paso 4: Descarga de un archivo de un almacén de Amazon Glacier
<a name="getting-started-download-archive"></a>

En este paso, descargará el archivo de ejemplo que cargó anteriormente en [Paso 3: Carga de un archivo en un almacén de Amazon Glacier](getting-started-upload-archive.md).

 

**importante**  
Amazon Glacier proporciona una consola. Sin embargo, cualquier operación de archivado, como cargar, descargar o eliminar, requiere que utilice la AWS Command Line Interface (CLI) o que escriba código. La consola no es compatible con las operaciones de archivo. Por ejemplo, para cargar datos, como fotos, vídeos y otros documentos, debe utilizar el código AWS CLI o escribir código para realizar las solicitudes, mediante la API REST directamente o mediante la AWS SDKs.   
Para instalar el AWS CLI, consulte [AWS Command Line Interface](https://aws.amazon.com/cli/). Para obtener más información sobre el uso de Amazon Glacier con AWS CLI, consulte [AWS CLI Reference for Amazon Glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html). Para ver ejemplos de cómo usar Amazon Glacier AWS CLI para cargar archivos en Amazon Glacier, consulte [Uso de Amazon Glacier con AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-glacier.html). 

En general, la recuperación de los datos de Amazon Glacier es un proceso que consta de dos pasos: 

1. Inicio del trabajo de recuperación.

1. Descarga de los datos una vez completado el trabajo. 

Para recuperar un archivo de Amazon Glacier, primero debe iniciar un trabajo. Una vez completado el trabajo, descarga los datos. Para obtener más información sobre la recuperación de archivos, consulte [Recuperación de archivos de Amazon Glacier](downloading-an-archive-two-steps.md).

El tiempo de acceso de la solicitud depende de la opción de recuperación que elija: rápida, estándar o en bloque. En todos los casos, excepto en los archivos de mayor tamaño (más de 250 MB), los datos a los que se accede con las recuperaciones rápidas suelen estar disponibles en un plazo de entre 1 y 5 minutos. Los archivos a los que se aplican recuperaciones estándar suelen estar disponibles en un plazo de entre 3 y 5 horas. Las recuperaciones en bloque suelen completarse en un plazo de entre 5 y 12 horas. Para obtener más información sobre las distintas opciones de recuperación, consulte [Preguntas frecuentes sobre Amazon Glacier](https://aws.amazon.com/glacier/faqs/#Data-retrievals). Para obtener información sobre los costos de recuperación de datos, consulte la [página de precios de Amazon Glacier](https://aws.amazon.com/s3/glacier/pricing/).

En los ejemplos de código de los siguientes temas se inicia el trabajo, se espera hasta que se complete y, después, se descargan los datos del archivo. 

**Topics**
+ [Descargue un archivo de una bóveda en Amazon Glacier mediante el AWS SDK para Java](getting-started-download-archive-java.md)
+ [Descargue un archivo de una bóveda en Amazon Glacier mediante el AWS SDK para .NET](getting-started-download-archive-dotnet.md)

# Descargue un archivo de una bóveda en Amazon Glacier mediante el AWS SDK para Java
<a name="getting-started-download-archive-java"></a>

El siguiente ejemplo de código Java utiliza la API de alto nivel del AWS SDK para Java para descargar el archivo que cargó en el paso anterior. En el ejemplo de código, observe lo siguiente:
+ El ejemplo crea una instancia de la clase `AmazonGlacierClient`. 
+ El código utiliza la región Oeste de EE. UU. (Oregón) (`us-west-2`) para que la ubicación sea la misma en la que creó el almacén en [Paso 2: Creación de un almacén en Amazon Glacier](getting-started-create-vault.md). 
+ El ejemplo utiliza la operación de API `download` de la clase `ArchiveTransferManager` de la API de alto nivel de AWS SDK para Java. El ejemplo crea un tema de Amazon Simple Notification Service (Amazon SNS) y una cola de Amazon Simple Queue Service (Amazon SQS) que se suscribe a ese tema. Si ha creado un usuario administrador AWS Identity and Access Management (IAM) según las instrucciones[Paso 1: Antes de empezar a usar Amazon Glacier](getting-started-before-you-begin.md), su usuario tiene los permisos de IAM necesarios para crear y usar el tema de Amazon SNS y la cola de Amazon SQS.

Para obtener step-by-step instrucciones sobre cómo ejecutar este ejemplo, consulte. [Ejecución de ejemplos de Java para Amazon Glacier con Eclipse](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java) Debe actualizar el código que se muestra con el ID del archivo que cargó en [Paso 3: Carga de un archivo en un almacén de Amazon Glacier](getting-started-upload-archive.md). 

**Example — Descargar un archivo mediante el AWS SDK para Java**  <a name="GS_ExampleDownloadArchiveJava"></a>

```
import java.io.File;
import java.io.IOException;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.transfer.ArchiveTransferManager;
import com.amazonaws.services.sns.AmazonSNSClient;
import com.amazonaws.services.sqs.AmazonSQSClient;

public class AmazonGlacierDownloadArchive_GettingStarted {
    public static String vaultName = "examplevault";
    public static String archiveId = "*** provide archive ID ***";
    public static String downloadFilePath  = "*** provide location to download archive ***";
    
    public static AmazonGlacierClient glacierClient;
    public static AmazonSQSClient sqsClient;
    public static AmazonSNSClient snsClient;
    
    public static void main(String[] args) throws IOException {
        
        
    	ProfileCredentialsProvider credentials = new ProfileCredentialsProvider();
    	
        glacierClient = new AmazonGlacierClient(credentials);        
        sqsClient = new AmazonSQSClient(credentials);
        snsClient = new AmazonSNSClient(credentials);
        
        glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com");
        sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com");
        snsClient.setEndpoint("sns.us-west-2.amazonaws.com");

        try {
            ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);
            
            atm.download(vaultName, archiveId, new File(downloadFilePath));
            
        } catch (Exception e)
        {
            System.err.println(e);
        }
    }
}
```

# Descargue un archivo de una bóveda en Amazon Glacier mediante el AWS SDK para .NET
<a name="getting-started-download-archive-dotnet"></a>

El siguiente ejemplo de código en C\$1 utiliza la API de alto nivel del AWS SDK para .NET para descargar el archivo en [Cargue un archivo en una bóveda de Amazon Glacier mediante el AWS SDK para .NET](getting-started-upload-archive-dotnet.md) el que cargó anteriormente. En el ejemplo de código, observe lo siguiente:

 
+ El ejemplo crea una instancia de la clase `ArchiveTransferManager` para el punto de conexión especificado de la región de Amazon Glacier.
+ En el ejemplo de código se utiliza la región Oeste de EE. UU. (Oregón) (`us-west-2`) para que la ubicación sea la misma en la que anteriormente creó el almacén en [Paso 2: Creación de un almacén en Amazon Glacier](getting-started-create-vault.md). 
+ En el ejemplo se usa la operación de API `Download` de la clase `ArchiveTransferManager` para descargar el archivo. El ejemplo crea un tema de Amazon Simple Notification Service (Amazon SNS) y una cola de Amazon Simple Queue Service (Amazon SQS) que se suscribe a ese tema. Si ha creado un usuario administrador AWS Identity and Access Management (IAM) según las instrucciones[Paso 1: Antes de empezar a usar Amazon Glacier](getting-started-before-you-begin.md), su usuario tiene los permisos de IAM necesarios para crear y usar el tema de Amazon SNS y la cola de Amazon SQS.
+ A continuación, el ejemplo inicia el trabajo de recuperación del archivo y sondea la cola para determinar si el archivo se encuentra disponible. Una vez que el archivo está disponible, comienza la descarga. Para obtener más información sobre los tiempos de recuperación, consulte [Opciones de recuperación de archivos](downloading-an-archive-two-steps.md#api-downloading-an-archive-two-steps-retrieval-options).

Para obtener step-by-step instrucciones sobre cómo ejecutar este ejemplo, consulte. [Ejecución de los ejemplos de código](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet) Debe actualizar el código que se muestra con el ID del archivo que cargó en [Paso 3: Carga de un archivo en un almacén de Amazon Glacier](getting-started-upload-archive.md). 

**Example — Descargue un archivo mediante la API de alto nivel del AWS SDK para .NET**  <a name="GS_ExampleDownloadArchiveDotNet"></a>

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

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
    class ArchiveDownloadHighLevel_GettingStarted
    {
        static string vaultName = "examplevault";
        static string archiveId = "*** Provide archive ID ***";
        static string downloadFilePath = "*** Provide the file name and path to where to store the download ***";

        public static void Main(string[] args)
        {
            try
            {
                var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

                var options = new DownloadOptions();
                options.StreamTransferProgress += ArchiveDownloadHighLevel_GettingStarted.progress;
                // Download an archive.
                Console.WriteLine("Intiating the archive retrieval job and then polling SQS queue for the archive to be available.");
                Console.WriteLine("Once the archive is available, downloading will begin.");
                manager.Download(vaultName, archiveId, downloadFilePath, options);
                Console.WriteLine("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();
        }

        static int currentPercentage = -1;
        static void progress(object sender, StreamTransferProgressArgs args)
        {
            if (args.PercentDone != currentPercentage)
            {
                currentPercentage = args.PercentDone;
                Console.WriteLine("Downloaded {0}%", args.PercentDone);
            }
        }
    }
}
```