Configure el cliente asíncrono S3 basado en Java para usar transferencias paralelas - AWS SDK for Java 2.x

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.

Configure el cliente asíncrono S3 basado en Java para usar transferencias paralelas

Desde la versión 2.27.5, el cliente asíncrono S3 estándar basado en Java admite transferencias paralelas automáticas (cargas y descargas multiparte). La compatibilidad con las transferencias paralelas se configura al crear el cliente asíncrono S3 basado en Java.

En esta sección se muestra cómo habilitar las transferencias paralelas y cómo personalizar la configuración.

Cree una instancia de S3AsyncClient

Cuando creas una S3AsyncClient instancia sin llamar a ninguno de los multipart* métodos del generador, las transferencias paralelas no están habilitadas. Cada una de las siguientes instrucciones crea un cliente asíncrono S3 basado en Java sin soporte para cargas y descargas multiparte.

Cree sin soporte multiparte

import software.amazon.awssdk.auth.credentials.ProcessCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3AsyncClient; S3AsyncClient s3Client = S3AsyncClient.create(); S3AsyncClient s3Client2 = S3AsyncClient.builder().build(); S3AsyncClient s3Client3 = S3AsyncClient.builder() .credentialsProvider(ProcessCredentialsProvider.builder().build()) .region(Region.EU_NORTH_1) .build();

Cree con soporte multiparte

Para habilitar las transferencias paralelas con la configuración predeterminada, llama al multipartEnabled generador y pásalo true como se muestra en el siguiente ejemplo.

S3AsyncClient s3AsyncClient2 = S3AsyncClient.builder() .multipartEnabled(true) .build();

El valor predeterminado es 8 MiB para la configuración thresholdInBytes yminimumPartSizeInBytes.

Si personaliza la configuración multiparte, las transferencias paralelas se activan automáticamente, como se muestra a continuación.

import software.amazon.awssdk.services.s3.S3AsyncClient; import static software.amazon.awssdk.transfer.s3.SizeConstant.MB; S3AsyncClient s3AsyncClient2 = S3AsyncClient.builder() .multipartConfiguration(b -> b .thresholdInBytes(16 * MB) .minimumPartSizeInBytes(10 * MB)) .build();