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.
Migrer les téléchargements d'URL pré-signés depuis AWS SDK pour Java v1 à v2
Migrez votre code de téléchargement URL pré-signé pour utiliser le traitement asynchrone et accéder à des options de téléchargement étendues dans la version 2. Cette rubrique explique comment migrer de la version 1.x (v1) vers la version 2.x (v2) du. AWS SDK pour Java Pour plus d'informations sur les fonctionnalités de téléchargement d'URL pré-signées v2, consultezTravaillez avec Amazon S3 URL pré-signées.
High-level modifications
La liste suivante résume les principales différences entre la version 1 et la version 2 pour les téléchargements d'URL pré-signés :
-
Package :
com.amazonaws.services.s3→software.amazon.awssdk.services.s3. -
Classe de client :
AmazonS3(synchrone) →S3AsyncClient(asynchrone). -
Architecture : Blocage synchrone des appels → Appels asynchrones avec.
CompletableFuture -
Multipart : Disponible uniquement via Transfer Manager → Disponible directement sur le client avec
multipartEnabled(true). -
Gestionnaire de transfert : Destination du fichier uniquement → Fichier, octets ou transformateur personnalisé.
Modifications des dépendances, des packages et des noms de classe
Le tableau suivant montre les changements de dépendance et de nom de classe entre v1 et v2.
| Modifier | v1 | v2 |
|---|---|---|
|
Dépendances de Maven |
|
|
| Nom du package | com.amazonaws.services.s3 |
software.amazon.awssdk.services.s3 |
| Noms des classes | AmazonS3, TransferManager |
S3AsyncClient, S3TransferManager |
1 Dernière version
Modifications de l'API
Téléchargements du client S3
Le tableau suivant compare les appels d'API v1 et v2 pour les téléchargements de clients S3.
| Cas d’utilisation | v1 | v2 |
|---|---|---|
| Créer le client |
|
|
| Génération d'une URL pré-signée |
|
|
| Créez la demande de téléchargement |
|
|
| Télécharger pour diffuser |
|
|
| Télécharger vers un fichier |
|
|
| Télécharger avec gamme |
|
|
Téléchargements de Transfer Manager
Le tableau suivant compare les appels d'API v1 et v2 pour les téléchargements de Transfer Manager.
| Cas d’utilisation | v1 | v2 |
|---|---|---|
| Création du gestionnaire de transferts |
|
|
| Download |
|
|
Pour de plus amples informations, veuillez consulter Téléchargement à l'aide d'une URL pré-signée.
Configuration changes
Client S3
Le tableau suivant décrit les modifications apportées à la configuration du client S3 de la v1 à la v2.
| Paramètre | v1 | v2 |
|---|---|---|
| Configuration en plusieurs parties | PresignedUrlDownloadConfig.withDownloadSizePerRequest(long) |
S3AsyncClient.builder().multipartConfiguration(c ->
c.minimumPartSizeInBytes(...)) |
| En-têtes personnalisés | PresignedUrlDownloadRequest.putCustomRequestHeader(String,
String) |
Non pris en charge. Uniquement Range et If-Match paramétrable au moment du téléchargement. |
Gestionnaire des transferts
Le tableau suivant décrit les modifications apportées à la configuration de Transfer Manager de la version v1 à la version v2.
| Paramètre | v1 | v2 |
|---|---|---|
| Suivi des progrès | PresignedUrlDownloadConfig.withS3progressListener(...) |
PresignedDownloadFileRequest.builder().addTransferListener(...) |
| Reprendre en cas de nouvelle tentative | PresignedUrlDownloadConfig.withResumeOnRetry(true) |
Non pris en charge |
| Pause/Resume | Non pris en charge | Non pris en charge |
Note
Le client AWS CRT-based S3 (S3AsyncClient.crtBuilder()) ne prend actuellement pas en charge l'extension d'URL pré-signée. Utilisez S3AsyncClient.builder().