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.
Migre las descargas de URL prefirmadas desde AWS SDK para Java v1 a v2
Migre su código de descarga URL prefirmado para utilizar el procesamiento asíncrono y acceder a opciones de descarga ampliadas en la versión 2. En este tema se muestra cómo migrar de la versión 1.x (v1) a la versión 2.x (v2) de. AWS SDK para Java Para obtener información sobre las capacidades de descarga de URL prefirmadas de la versión 2, consulte. Trabaja con Amazon S3 URL prefirmadas
High-level cambios
En la siguiente lista se resumen las principales diferencias entre la versión 1 y la versión 2 para las descargas de URL prefirmadas:
-
Paquete:
com.amazonaws.services.s3→software.amazon.awssdk.services.s3. -
Clase de cliente:
AmazonS3(síncrono) →S3AsyncClient(asíncrono). -
Arquitectura: Bloqueo sincrónico de llamadas → Llamadas asíncronas con.
CompletableFuture -
Multiparte: disponible solo a través de Transfer Manager → Disponible directamente en el cliente con.
multipartEnabled(true) -
Transfer Manager: solo destino del archivo → Archivo, bytes o transformador personalizado.
Cambios en las dependencias, los paquetes y los nombres de las clases
En la siguiente tabla se muestran los cambios de la dependencia y el nombre de la clase de la v1 a la v2.
| Cambio | v1 | v2 |
|---|---|---|
|
dependencias Maven |
|
|
| Nombre del paquete | com.amazonaws.services.s3 |
software.amazon.awssdk.services.s3 |
| Nombres de clase | AmazonS3, TransferManager |
S3AsyncClient, S3TransferManager |
1 Última versión
Cambios en la API
Descargas de clientes S3
En la siguiente tabla se comparan las llamadas a las API de las versiones 1 y 2 para las descargas de clientes de S3.
| Caso de uso | v1 | v2 |
|---|---|---|
| Cree el cliente |
|
|
| Genera una URL prefirmada |
|
|
| Crea la solicitud de descarga |
|
|
| Descarga para transmitir |
|
|
| Descargar al archivo |
|
|
| Descarga con rango |
|
|
Descargas de Transfer Manager
En la siguiente tabla, se comparan las llamadas a las API de las versiones 1 y 2 para las descargas de Transfer Manager.
| Caso de uso | v1 | v2 |
|---|---|---|
| Crea el Gestor de transferencias |
|
|
| Download |
|
|
Para obtener más información, consulte Descarga mediante una URL prefirmada.
Cambios de configuración
cliente S3
La siguiente tabla describe los cambios en la configuración del cliente S3 de la versión 1 a la versión 2.
| Opción | v1 | v2 |
|---|---|---|
| Configuración multiparte | PresignedUrlDownloadConfig.withDownloadSizePerRequest(long) |
S3AsyncClient.builder().multipartConfiguration(c ->
c.minimumPartSizeInBytes(...)) |
| Cabeceras personalizadas | PresignedUrlDownloadRequest.putCustomRequestHeader(String,
String) |
No admitido. Solo Range y se If-Match pueden configurar en el momento de la descarga. |
Transfer Manager
En la siguiente tabla se describen los cambios de configuración de Transfer Manager de la versión 1 a la versión 2.
| Opción | v1 | v2 |
|---|---|---|
| Seguimiento del progreso | PresignedUrlDownloadConfig.withS3progressListener(...) |
PresignedDownloadFileRequest.builder().addTransferListener(...) |
| Reanude al volver a intentarlo | PresignedUrlDownloadConfig.withResumeOnRetry(true) |
No admitido |
| Pause/Resume | No admitido | No admitido |
nota
El cliente AWS CRT-based S3 (S3AsyncClient.crtBuilder()) no admite actualmente la extensión de URL prefirmada. Utilice S3AsyncClient.builder().