Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Modifications apportées à Amazon S3 Transfer Manager de la version 1 à la version 2
Cette rubrique détaille les modifications apportées à Amazon S3 Transfer Manager de la version 1 (v1) à la version 2 (v2).
Changements de haut niveau
Modification | v1 | v2 |
---|---|---|
Dépendances de Maven |
|
|
Nom du package | com.amazonaws.services.s3.transfer |
software.amazon.awssdk.transfer.s3 |
Nom de classe |
1 Dernière version
Modifications de l'API de configuration
Paramètre | v1 | v2 |
---|---|---|
(trouvez un constructeur) |
|
|
Client S3 |
|
|
Exécuteur |
|
|
Arrêter les pools de threads |
|
Non pris en charge. L'exécuteur fourni ne sera pas arrêté lorsque le S3 sera TransferManager fermé |
Taille minimale de la pièce à télécharger |
|
|
Seuil de téléchargement en plusieurs parties |
|
|
Taille minimale des parties de copie |
|
|
Seuil de copie en plusieurs parties |
|
|
Désactiver les téléchargements parallèles |
|
Désactivez les téléchargements parallèles en transmettant un client S3 standard basé sur Java au gestionnaire de transfert.
|
Calculez toujours le md5 en plusieurs parties |
|
Non pris en charge. |
Changements de comportement
Le transfert parallèle nécessite un client AWS S3 basé sur CRT
Dans le SDK pour Java 2.x, la fonctionnalité de transfert parallèle automatique (chargement/téléchargement en plusieurs parties) est disponible via le client S3 basé sur CRT.AWS Pour activer la fonctionnalité de transfert parallèle, vous devez ajouter explicitement la dépendance à la bibliothèque AWS
Common Runtime (CRT)
Le client S3 AWS basé sur CRT S3TransferManager
permet à lui seul, sans utilisation, d'optimiser les performances des transferts parallèles. S3TransferManager
La v2 fournit des API supplémentaires qui facilitent le transfert de fichiers et de répertoires.
La capacité S3TransferManager
à effectuer des transferts parallèles dépend de la manière dont S3TransferManager
il est initié et de la déclaration de dépendance de la bibliothèque AWS Common Runtime (CRT).
Le tableau suivant décrit trois scénarios d'initialisation pour une S3TransferManager
v2 avec et sans le AWS CRT déclaré comme dépendance.
Approche d'initialisation de S3 TransferManager v2 | Le AWS CRT est-il déclaré comme dépendance ? | |
---|---|---|
oui | non | |
Initialiser le Méthode de création statique :
- OU - Méthode Builder :
|
![]() transfert parallèle automatique activé |
![]() transfert parallèle automatique désactivé |
Transmettre une
- OU -
|
![]() transfert parallèle automatique activé |
![]() erreur d'exécution |
Transmettez une
- OU -
|
![]() transfert parallèle automatique désactivé |
![]() transfert parallèle automatique désactivé |
Téléchargement parallèle via des extractions par plage d'octets
Lorsque la fonction de transfert parallèle automatique est activée, le S3 Transfer Manager v2 utilise des extractions par plage d'octets pour récupérer des parties spécifiques de l'objet en parallèle (téléchargement en plusieurs parties). La façon dont un objet est téléchargé avec la version v2 ne dépend pas de la manière dont l'objet a été initialement chargé. Tous les téléchargements peuvent bénéficier d'un débit élevé et d'une simultanéité.
En revanche, avec S3 Transfer Manager v1, la manière dont l'objet a été initialement chargé est importante. Le S3 Transfer Manager v1 récupère les parties de l'objet de la même manière que les parties ont été téléchargées. Si un objet a été initialement chargé en tant qu'objet unique, le S3 Transfer Manager v1 n'est pas en mesure d'accélérer le processus de téléchargement en utilisant des sous-requêtes.
Comportement de défaillance
Avec S3 Transfer Manager v1, une demande de transfert de répertoire échoue si une sous-demande échoue. Contrairement à la v1, le futur renvoyé par S3 Transfer Manager v2 se termine avec succès même si certaines sous-requêtes échouent.
Par conséquent, vous devez vérifier l'absence d'erreurs dans la réponse en utilisant la CompletedDirectoryDownload.failedTransfers()
CompletedDirectoryUpload.failedTransfers()