Descarga de un archivo de un almacén de S3 Glacier con AWS SDK for Java - Amazon S3 Glacier

Esta página es solo para los clientes actuales del servicio S3 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 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 la API de Amazon S3, están disponibles en todas las regiones y se pueden administrar en la consola de Amazon S3. Ofrecen funciones como el análisis de costes de almacenamiento, Lente de almacenamiento características 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.

Descarga de un archivo de un almacén de S3 Glacier con AWS SDK for Java

En el siguiente ejemplo de código Java, se utiliza la API de alto nivel de AWS SDK for Java para descargar el archivo que se 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 S3 Glacier.

  • El ejemplo utiliza la operación de API download de la clase ArchiveTransferManager de la API de alto nivel de AWS SDK for 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 de AWS Identity and Access Management (IAM) como se indica en Paso 1: Antes de empezar a usar S3 Glacier, el usuario dispone de los permisos de IAM necesarios para la creación y uso del tema de Amazon SNS y la cola de Amazon SQS.

Para obtener instrucciones paso a paso sobre cómo ejecutar este ejemplo, consulte Ejecución de ejemplos de Java para Amazon S3 Glacier con Eclipse. 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 S3 Glacier.

ejemplo Descarga de un archivo con AWS SDK for Java
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); } } }