Mediante AWS SDK for Java - Amazon Simple Storage Service

Mediante AWS SDK for Java

AWS SDK for Java proporciona una API para las operaciones de buckets y objetos de Amazon S3. Para operaciones de objeto, además de proporcionar la API para cargar objetos en una sola operación, el SDK proporciona una API para cargar objetos grandes por partes. Para obtener más información, consulte Carga y copia de objetos con la carga multiparte.

El AWS SDK for Java le brinda la opción de utilizar una API de alto nivel o de bajo nivel.

API de bajo nivel

Las API de bajo nivel corresponden a las operaciones REST de Amazon S3 subyacentes, como las operaciones de creación, actualización y eliminación que se aplican a buckets y objetos. Cuando se cargan objetos grandes con la API de carga multiparte de bajo nivel, se dispone de un mayor control. Por ejemplo, permite detener y reanudar cargas multiparte, variar los tamaños de las partes durante la carga, o comenzar cargas cuando no se conoce de antemano el tamaño de los datos. Si no tiene estos requisitos, utilice la API de alto nivel para cargar objetos.

API de alto nivel

Para cargar objetos, el SDK proporciona un mayor nivel de abstracción con la clase TransferManager. La API de alto nivel es una API más simple, que permite cargar archivos y secuencias en Amazon S3 con tan solo unas pocas líneas de código. Debe utilizar esta API para cargar datos a menos que necesite controlar la carga según lo descrito en la sección anterior sobre las API de bajo nivel.

Para datos de tamaño más pequeño, la API TransferManager carga los datos en una sola operación. Sin embargo, TransferManager cambia a la API de carga multiparte cuando el tamaño de los datos alcanza cierto límite. Cuando es posible, TransferManager utiliza varios subprocesos para cargar las partes de manera simultánea. Si la carga de una parte falla, la API reintenta cargar la parte fallida hasta tres veces. Sin embargo, estas son opciones configurables con la clase TransferManagerConfiguration.

nota

Cuando se utiliza una secuencia para el origen de datos, la clase TransferManager no realiza cargas simultáneas.

La organización de API de Java

Los siguientes paquetes en AWS SDK for Java proporcionan la siguiente API:

  • com.amazonaws.services.s3: proporciona las API para crear clientes de Amazon S3 y trabajar con buckets y objetos. Por ejemplo, le permite crear buckets, cargar, obtener y eliminar objetos, y crear listas de claves.

  • com.amazonaws.services.s3.transfer: proporciona las operaciones de datos de API de carácter general.

    La API de carácter general está diseñada para simplificar la transferencia de objetos a y desde Amazon S3. Contiene la clase TransferManager, que proporciona métodos asíncronos para trabajar con las transferencias, consultarlas y manipularlas. También incluye la clase TransferManagerConfiguration, que se puede utilizar para configurar el tamaño de parte mínimo para cargar partes y el límite en bytes para el uso de cargas multiparte.

  • com.amazonaws.services.s3.model: proporciona las clases de API de bajo nivel para crear respuestas de procesos y solicitudes. Por ejemplo contiene la clase GetObjectRequest para describir su solicitud get object, la clase ListObjectsRequest para describir sus solicitudes de listas de claves y la clase InitiateMultipartUploadRequest para crear cargas multiparte.

Para obtener más información sobre la API de AWS SDK for Java consulte la Referencia de la API de AWS SDK for Java.

Prueba de los ejemplos de código de Java de Amazon S3

Los ejemplos de Java que aparecen en esta guía son compatibles con la versión 1.11.321. de AWS SDK for Java. Si desea obtener más instrucciones sobre la configuración y ejecución de ejemplos de código, consulte Introducción en la Guía para desarrolladores de AWS SDK for Java.