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à.
Strumento di migrazione (versione di anteprima)
AWS SDK for Java Fornisce uno strumento di migrazione che aiuta ad automatizzare la migrazione del SDK codice da Java 1.x a 2.x. Lo strumento utilizza OpenRewrite
Ora puoi usare lo strumento come versione di anteprima. Lo strumento supporta tutti i client SDK di servizio ad eccezione di Amazons3Client e di alto livello APIs come e D. TransferManagerynamoDBMapper Lo strumento presenta anche alcune limitazioni elencate alla fine di questo argomento.
Utilizza lo strumento di migrazione
Migra un progetto Maven
-
Vai alla directory principale del tuo progetto Maven
Apri una finestra di terminale (riga di comando) e vai alla directory principale dell'applicazione basata su Maven.
-
Esegui il comando del plugin
rewrite-maven-plugin
Puoi scegliere tra due modalità (obiettivi Maven):
dryRun
e.run
Modalità
dryRun
In questa
dryRun
modalità, il plugin genera i diff log nell'output della console e un file di patch denominatorewrite.patch
nella cartella.target/rewrite
Questa modalità consente di visualizzare in anteprima le modifiche che verranno apportate, poiché non vengono apportate modifiche ai file del codice sorgente.L'esempio seguente mostra come richiamare il plugin in
dryRun
modalità.mvn org.openrewrite.maven:rewrite-maven-plugin:dryRun \ -Drewrite.recipeArtifactCoordinates=software.amazon.awssdk:v2-migration:
<sdkversion>*
-PREVIEW \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2*Sostituisci
<sdkversion>
con una versione 2.x. SDK Visita Maven Centralper verificare la versione più recente. L'output della console dalla
dryRun
modalità dovrebbe essere simile al seguente.[WARNING] These recipes would make changes to project/src/test/resources/maven/before/pom.xml: [WARNING] software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2 [WARNING] software.amazon.awssdk.v2migration.UpgradeSdkDependencies [WARNING] org.openrewrite.java.dependencies.AddDependency: {groupId=software.amazon.awssdk, artifactId=apache-client, version=2.27.0, onlyIfUsing=com.amazonaws.ClientConfiguration} [WARNING] org.openrewrite.java.dependencies.AddDependency: {groupId=software.amazon.awssdk, artifactId=netty-nio-client, version=2.27.0, onlyIfUsing=com.amazonaws.ClientConfiguration} [WARNING] org.openrewrite.java.dependencies.ChangeDependency: {oldGroupId=com.amazonaws, oldArtifactId=aws-java-sdk-bom, newGroupId=software.amazon.awssdk, newArtifactId=bom, newVersion=2.27.0} [WARNING] org.openrewrite.java.dependencies.ChangeDependency: {oldGroupId=com.amazonaws, oldArtifactId=aws-java-sdk-s3, newGroupId=software.amazon.awssdk, newArtifactId=s3, newVersion=2.27.0} [WARNING] org.openrewrite.java.dependencies.ChangeDependency: {oldGroupId=com.amazonaws, oldArtifactId=aws-java-sdk-sqs, newGroupId=software.amazon.awssdk, newArtifactId=sqs, newVersion=2.27.0} [WARNING] These recipes would make changes to project/src/test/resources/maven/before/src/main/java/foo/bar/Application.java: [WARNING] software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2 [WARNING] software.amazon.awssdk.v2migration.S3GetObjectConstructorToFluent [WARNING] software.amazon.awssdk.v2migration.ConstructorToFluent [WARNING] software.amazon.awssdk.v2migration.S3StreamingResponseToV2 [WARNING] software.amazon.awssdk.v2migration.ChangeSdkType [WARNING] software.amazon.awssdk.v2migration.ChangeSdkCoreTypes [WARNING] software.amazon.awssdk.v2migration.ChangeExceptionTypes [WARNING] org.openrewrite.java.ChangeType: {oldFullyQualifiedTypeName=com.amazonaws.AmazonClientException, newFullyQualifiedTypeName=software.amazon.awssdk.core.exception.SdkException} [WARNING] org.openrewrite.java.ChangeMethodName: {methodPattern=com.amazonaws.AmazonServiceException getRequestId(), newMethodName=requestId} [WARNING] org.openrewrite.java.ChangeMethodName: {methodPattern=com.amazonaws.AmazonServiceException getErrorCode(), newMethodName=awsErrorDetails().errorCode} [WARNING] org.openrewrite.java.ChangeMethodName: {methodPattern=com.amazonaws.AmazonServiceException getServiceName(), newMethodName=awsErrorDetails().serviceName} [WARNING] org.openrewrite.java.ChangeMethodName: {methodPattern=com.amazonaws.AmazonServiceException getErrorMessage(), newMethodName=awsErrorDetails().errorMessage} [WARNING] org.openrewrite.java.ChangeMethodName: {methodPattern=com.amazonaws.AmazonServiceException getRawResponse(), newMethodName=awsErrorDetails().rawResponse().asByteArray} [WARNING] org.openrewrite.java.ChangeMethodName: {methodPattern=com.amazonaws.AmazonServiceException getRawResponseContent(), newMethodName=awsErrorDetails().rawResponse().asUtf8String} [WARNING] org.openrewrite.java.ChangeType: {oldFullyQualifiedTypeName=com.amazonaws.AmazonServiceException, newFullyQualifiedTypeName=software.amazon.awssdk.awscore.exception.AwsServiceException} [WARNING] software.amazon.awssdk.v2migration.NewClassToBuilderPattern [WARNING] software.amazon.awssdk.v2migration.NewClassToBuilder [WARNING] software.amazon.awssdk.v2migration.V1SetterToV2 [WARNING] software.amazon.awssdk.v2migration.V1GetterToV2 ... [WARNING] software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder [WARNING] software.amazon.awssdk.v2migration.NewClassToBuilderPattern [WARNING] software.amazon.awssdk.v2migration.NewClassToBuilder [WARNING] software.amazon.awssdk.v2migration.V1SetterToV2 [WARNING] software.amazon.awssdk.v2migration.HttpSettingsToHttpClient [WARNING] software.amazon.awssdk.v2migration.WrapSdkClientBuilderRegionStr [WARNING] Patch file available: [WARNING] project/src/test/resources/maven/before/target/rewrite/rewrite.patch [WARNING] Estimate time saved: 20m [WARNING] Run 'mvn rewrite:run' to apply the recipes.
Modalità
run
Quando esegui il plugin in
run
modalità, modifica il codice sorgente sul disco per applicare le modifiche. Assicurati di avere un backup del codice sorgente prima di eseguire il comando.L'esempio seguente mostra come richiamare il plugin in
run
modalità.mvn org.openrewrite.maven:rewrite-maven-plugin:run \ -Drewrite.recipeArtifactCoordinates=software.amazon.awssdk:v2-migration:
<sdkversion>*
-PREVIEW \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2*Sostituisci
<sdkversion>
con una versione 2.x. SDK Visita Maven Centralper verificare la versione più recente. Dopo aver eseguito il comando, compila l'applicazione ed esegui dei test per verificare le modifiche.
Migra un progetto Gradle
-
Vai alla directory principale del tuo progetto Maven
Apri una finestra di terminale (riga di comando) e vai alla directory principale dell'applicazione basata su Gradle.
-
Crea uno script di init di Gradle
Crea un
init.gradle
file con il seguente contenuto nella directory.initscript { repositories { maven { url "https://plugins.gradle.org/m2" } } dependencies { classpath("org.openrewrite:plugin:latest.release") } } rootProject { plugins.apply(org.openrewrite.gradle.RewritePlugin) dependencies { rewrite("software.amazon.awssdk:v2-migration:latest.release") } afterEvaluate { if (repositories.isEmpty()) { repositories { mavenCentral() } } } }
-
Esegui il
rewrite
comandoCome con il plug-in Maven, puoi eseguire il plug-in Gradle in
dryRun
modalità o.run
Modalità
dryRun
L'esempio seguente mostra come richiamare il plugin in modalità.
dryRun
gradle rewriteDryRun --init-script init.gradle \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2
Modalità
run
L'esempio seguente mostra come richiamare il plugin in
run
modalità.gradle rewriteRun --init-script init.gradle \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2
Limitazioni attuali
L'attuale versione di anteprima non supporta tutte le funzionalità diSDK. Il supporto per funzionalità aggiuntive verrà aggiunto a breve.
Al momento lo strumento non supporta le seguenti funzionalità. I collegamenti nell'elenco seguente rimandano alle informazioni sulla migrazione per aiutarti a migrare manualmente il codice.
-
S3 Client (AmazonS3Client), lo strumento attualmente supporta e metodi
putObject
getObject
-
S3 Transfer Manager () TransferManager
-
Mappatura degli oggetti DynamoDB (D) ynamoDBMapper
-
EC2utilità per i metadati () EC2MetadataUtils
-
Camerieri () AmazonDynamo DBWaiters
-
IAMPolicy Builder (Politica)
-
CloudFront preassegnazione (,) CloudFrontUrlSigner CloudFrontCookieSigner
-
Notifiche di eventi S3 (S3) EventNotification
-
SDKpubblicazione metrica (documentazione 1.x, documentazione 2.x)