Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Alat migrasi (rilis pratinjau)
AWS SDK for Java Ini menyediakan alat migrasi yang membantu mengotomatiskan migrasi SDK untuk kode Java 1.x ke 2.x. Alat ini menggunakan OpenRewrite
Anda dapat menggunakan alat ini sekarang sebagai rilis pratinjau. Alat ini mendukung semua klien SDK layanan kecuali untuk Amazons3Client dan tingkat tinggi APIs seperti dan D. TransferManagerynamoDBMapper Alat ini juga memiliki beberapa batasan yang tercantum di akhir topik ini.
Gunakan alat migrasi
Migrasi proyek Maven
-
Arahkan ke direktori root proyek Maven Anda
Buka jendela terminal (baris perintah) dan arahkan ke direktori root aplikasi berbasis MAVENN Anda.
-
Jalankan
rewrite-maven-plugin
perintah pluginAnda dapat memilih dari dua mode (tujuan Maven):
dryRun
dan.run
dryRun
modusDalam
dryRun
mode, plugin menghasilkan log diff di output konsol dan file patch bernamarewrite.patch
ditarget/rewrite
folder. Mode ini memungkinkan Anda untuk melihat pratinjau perubahan yang akan dilakukan, karena tidak ada perubahan yang dilakukan pada file kode sumber.Contoh berikut menunjukkan cara memanggil plugin dalam
dryRun
mode.mvn org.openrewrite.maven:rewrite-maven-plugin:dryRun \ -Drewrite.recipeArtifactCoordinates=software.amazon.awssdk:v2-migration:
<sdkversion>*
-PREVIEW \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2*Ganti
<sdkversion>
dengan SDK versi 2.x. Kunjungi Maven Centraluntuk memeriksa versi terbaru. Output konsol Anda dari
dryRun
mode harus menyerupai output berikut.[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.
run
modusKetika Anda menjalankan plugin dalam
run
mode, itu memodifikasi kode sumber pada disk untuk menerapkan perubahan. Pastikan Anda memiliki cadangan kode sumber sebelum menjalankan perintah.Contoh berikut menunjukkan cara memanggil plugin dalam
run
mode.mvn org.openrewrite.maven:rewrite-maven-plugin:run \ -Drewrite.recipeArtifactCoordinates=software.amazon.awssdk:v2-migration:
<sdkversion>*
-PREVIEW \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2*Ganti
<sdkversion>
dengan SDK versi 2.x. Kunjungi Maven Centraluntuk memeriksa versi terbaru. Setelah Anda menjalankan perintah, kompilasi aplikasi Anda dan jalankan tes untuk memverifikasi perubahan.
Migrasi proyek Gradle
-
Arahkan ke direktori root proyek Maven Anda
Buka jendela terminal (baris perintah) dan arahkan ke direktori root aplikasi berbasis Gradle Anda.
-
Buat skrip init Gradle
Buat
init.gradle
file dengan konten berikut di direktori.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() } } } }
-
Jalankan
rewrite
perintahSeperti halnya plugin Maven, Anda dapat menjalankan plugin Gradle dalam
dryRun
mode atau.run
dryRun
modusContoh berikut menunjukkan cara memanggil plugin dalam
dryRun
mode.gradle rewriteDryRun --init-script init.gradle \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2
run
modusContoh berikut menunjukkan cara memanggil plugin dalam
run
mode.gradle rewriteRun --init-script init.gradle \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2
Keterbatasan saat ini
Rilis pratinjau saat ini tidak mendukung setiap fitur diSDK. Support untuk fitur tambahan akan segera ditambahkan.
Alat ini saat ini tidak mendukung fitur-fitur berikut. Tautan dalam daftar di bawah ini, membawa Anda ke informasi migrasi untuk membantu Anda memigrasikan kode secara manual.
-
S3 Client (Amazons3Client), alat saat ini mendukung dan metode
putObject
getObject
-
Manajer Transfer S3 () TransferManager
-
URIPenguraian S3 (AmazonS3) URI
-
Pemetaan objek DynamoDB (D) ynamoDBMapper
-
EC2utilitas metadata () EC2MetadataUtils
-
Pelayan () AmazonDynamo DBWaiters
-
IAMPembuat Kebijakan (Kebijakan)
-
CloudFront presigning (CloudFrontUrlSigner, CloudFrontCookieSigner)
-
Pemberitahuan Acara S3 (EventNotificationS3)
-
SDKpenerbitan metrik (dokumentasi 1.x, dokumentasi 2.x)