Trabajo con Amazon S3
En esta sección se proporciona información básica para trabajar con Amazon S3 mediante AWS SDK for Java 2.x. Esta sección complementa los ejemplos de Java v2 de Amazon S3 presentados en la sección Ejemplos de código de esta guía.
Clientes de S3 en AWS SDK for Java 2.x
AWS SDK for Java 2.x ofrece diferentes tipos de clientes de S3. La siguiente tabla muestra las diferencias y puede ayudarle a decidir qué es lo mejor para sus casos de uso.
| Cliente de S3 | Descripción breve | Cuándo se debe usar | Limitación o inconveniente |
|---|---|---|---|
|
Cliente de S3 basado en AWS CRT Interfaz: S3AsyncClient Compilador: S3CrtAsyncClientBuilder |
Consulte Utilizar un cliente S3 de alto rendimiento: cliente S3 basado en CRT AWS. |
|
|
|
Cliente asincrónico S3 basado en Java con multiparte habilitada Interfaz: S3AsyncClient Compilador: S3AsyncClientBuilder |
Consulte Configuración del cliente asincrónico S3 basado en Java para usar transferencias paralelas. |
|
Menor rendimiento que el cliente de S3 basado en AWS CRT. |
|
Cliente asincrónico de S3 basado en Java sin multiparte habilitada Interfaz: S3AsyncClient Compilador: S3AsyncClientBuilder |
|
|
Sin optimización del rendimiento |
|
Cliente asincrónico de S3 basado en Java Interfaz: S3Client Compilador: S3ClientBuilder |
|
|
Sin optimización del rendimiento |
nota
A partir de la versión 2.18.x, AWS SDK for Java 2.x utiliza un direccionamiento virtual de estilo host al incluir una anulación de punto de conexión. Esto se aplica siempre que el nombre del bucket sea una etiqueta DNS válida.
Llame al método forcePathStyletrue en su constructor de clientes para forzar al cliente a utilizar el direccionamiento estilo ruta para los buckets.
En el siguiente ejemplo se muestra un cliente de servicio configurado con una anulación de punto de conexión y utilizando direccionamiento estilo ruta.
S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();