Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esegui la migrazione dei download di URL prefirmati da AWS SDK per Java da v1 a v2
Esegui la migrazione del codice di download URL prefirmato per utilizzare l'elaborazione asincrona e accedere a opzioni di download estese nella versione 2. Questo argomento mostra come migrare dalla versione 1.x (v1) alla versione 2.x (v2) di. AWS SDK per Java Per informazioni sulle funzionalità di download di URL prefirmati v2, consulta. Lavora con Amazon S3 URL prefirmati
High-level modifiche
L'elenco seguente riassume le principali differenze tra v1 e v2 per i download di URL prefirmati:
-
Package:
com.amazonaws.services.s3→software.amazon.awssdk.services.s3. -
Classe client:
AmazonS3(sincrono) →S3AsyncClient(asincrono). -
Architettura: Chiamate di blocco sincrone → Chiamate asincrone con.
CompletableFuture -
Multipart: Disponibile solo tramite Transfer Manager → Disponibile direttamente sul client con.
multipartEnabled(true) -
Transfer Manager: Solo destinazione del file → File, byte o trasformatore personalizzato.
Modifiche nelle dipendenze, nei pacchetti e nei nomi delle classi
La tabella seguente mostra le dipendenze e le modifiche ai nomi delle classi da v1 a v2.
| Modifica | v1 | v2 |
|---|---|---|
|
Dipendenze Maven |
|
|
| Nome pacchetto | com.amazonaws.services.s3 |
software.amazon.awssdk.services.s3 |
| Nomi delle classi | AmazonS3, TransferManager |
S3AsyncClient, S3TransferManager |
1 Ultima versione
Modifiche all'API
Download del client S3
La tabella seguente confronta le chiamate API v1 e v2 per i download dei client S3.
| Caso d’uso | v1 | v2 |
|---|---|---|
| Creazione del client |
|
|
| Genera un URL prefirmato |
|
|
| Crea la richiesta di download |
|
|
| Scarica per lo streaming |
|
|
| Scarica su file |
|
|
| Scarica con intervallo |
|
|
Download di Transfer Manager
La tabella seguente confronta le chiamate API v1 e v2 per i download di Transfer Manager.
| Caso d’uso | v1 | v2 |
|---|---|---|
| Crea il Transfer Manager |
|
|
| Scarica |
|
|
Per ulteriori informazioni, consulta Scarica utilizzando un URL prefirmato.
Modifiche di configurazione
Client S3
La tabella seguente descrive le modifiche alla configurazione del client S3 dalla v1 alla v2.
| Impostazione | v1 | v2 |
|---|---|---|
| Configurazione multiparte | PresignedUrlDownloadConfig.withDownloadSizePerRequest(long) |
S3AsyncClient.builder().multipartConfiguration(c ->
c.minimumPartSizeInBytes(...)) |
| Intestazioni personalizzate | PresignedUrlDownloadRequest.putCustomRequestHeader(String,
String) |
Non supportato. Solo Range e If-Match può essere impostato al momento del download. |
Gestore dei trasferimenti
La tabella seguente descrive le modifiche alla configurazione di Transfer Manager dalla v1 alla v2.
| Impostazione | v1 | v2 |
|---|---|---|
| Monitoraggio dei progressi | PresignedUrlDownloadConfig.withS3progressListener(...) |
PresignedDownloadFileRequest.builder().addTransferListener(...) |
| Riprendi in caso di nuovo tentativo | PresignedUrlDownloadConfig.withResumeOnRetry(true) |
Non supportata |
| Pause/Resume | Non supportata | Non supportata |
Nota
Il client AWS CRT-based S3 (S3AsyncClient.crtBuilder()) attualmente non supporta l'estensione URL prefirmata. Utilizza S3AsyncClient.builder().