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à.
Modifiche in Amazon S3 Transfer Manager dalla versione 1 alla versione 2
Questo argomento descrive in dettaglio le modifiche in Amazon S3 Transfer Manager dalla versione 1 (v1) alla versione 2 (v2).
Modifiche di alto livello
Modifica | v1 | v2 |
---|---|---|
Dipendenze da Maven |
|
|
Nome pacchetto | com.amazonaws.services.s3.transfer |
software.amazon.awssdk.transfer.s3 |
Class name (Nome classe) |
1 Ultima versione.
Modifiche all'API di configurazione
Impostazione | v1 | v2 |
---|---|---|
(procurati un builder) |
|
|
Client S3 |
|
|
Esecutore |
|
|
Chiudi i pool di thread |
|
Non supportato. L'executor fornito non verrà spento quando S3 viene chiuso TransferManager |
Dimensione minima della parte da caricare |
|
|
Soglia di caricamento in più parti |
|
|
Dimensione minima della parte di copia |
|
|
Soglia di copia in più parti |
|
|
Disattiva i download paralleli |
|
Disabilita i download paralleli passando un client S3 standard basato su Java al gestore di trasferimento.
|
Calcola sempre md5 multipart |
|
Non supportato. |
Modifiche al comportamento
Il trasferimento parallelo richiede un client S3 AWS basato su CRT
Nell'SDK for Java 2.x, la funzionalità di trasferimento parallelo automatico (caricamento/download in più parti) è disponibile tramite il client S3 basato su CRT.AWS Per abilitare la funzionalità di trasferimento parallelo, è necessario aggiungere esplicitamente la dipendenza della libreria AWS
Common Runtime (CRT)
Il solo client S3 AWS basato su CRT, senza utilizzo, offre prestazioni massimizzate dei trasferimenti S3TransferManager
paralleli. S3TransferManager
v2 fornisce API aggiuntive che semplificano il trasferimento di file e directory.
La capacità di S3TransferManager
eseguire trasferimenti paralleli dipende dalla modalità S3TransferManager
di avvio e dal fatto che la libreria AWS Common Runtime (CRT) sia stata dichiarata come dipendenza.
La tabella seguente descrive tre scenari di inizializzazione per una versione S3TransferManager
v2 con e senza il AWS CRT dichiarato come dipendenza.
Approccio di inizializzazione S3 v2 TransferManager | AWS CRT è dichiarato come dipendenza? | |
---|---|---|
sì | no | |
Inizializza il Metodo di creazione statico:
- O - Metodo Builder:
|
![]() trasferimento parallelo automatico abilitato |
![]() trasferimento parallelo automatico disabilitato |
Passa un'
- O -
|
![]() trasferimento parallelo automatico abilitato |
![]() errore di runtime |
Passa un'
- O -
|
![]() trasferimento parallelo automatico disabilitato |
![]() trasferimento parallelo automatico disabilitato |
Download parallelo tramite recuperi a intervalli di byte
Quando la funzione di trasferimento parallelo automatico è abilitata, S3 Transfer Manager v2 utilizza recuperi a intervalli di byte per recuperare parti specifiche dell'oggetto in parallelo (download in più parti). Il modo in cui un oggetto viene scaricato con v2 non dipende da come l'oggetto è stato originariamente caricato. Tutti i download possono trarre vantaggio da un throughput e da una concorrenza elevati.
Al contrario, con S3 Transfer Manager v1, è importante il modo in cui l'oggetto è stato originariamente caricato. S3 Transfer Manager v1 recupera le parti dell'oggetto nello stesso modo in cui le parti sono state caricate. Se un oggetto è stato originariamente caricato come oggetto singolo, S3 Transfer Manager v1 non è in grado di accelerare il processo di download utilizzando richieste secondarie.
Comportamento di errore
Con S3 Transfer Manager v1, una richiesta di trasferimento di directory fallisce se una delle sottorichieste fallisce. A differenza della versione 1, le future restituite da S3 Transfer Manager v2 vengono completate correttamente anche se alcune richieste secondarie falliscono.
Di conseguenza, è necessario verificare la presenza di errori nella risposta utilizzando il CompletedDirectoryDownload.failedTransfers()
CompletedDirectoryUpload.failedTransfers()