移行ツール (プレビューリリース) - AWS SDK for Java 2.x

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

移行ツール (プレビューリリース)

AWS SDK for Java には、 SDK for Java 1.x コードの 2.x への移行を自動化するのに役立つ移行ツールが用意されています。このツールは、オープンソースOpenRewriteのソースコードリファクタリングツールを使用して移行を実行します。

プレビューリリースとしてツールを使用できるようになりました。このツールは、AmazonS3ClientTransferManagerD ynamoDBMapperAPIsなどの高レベルを除くすべてのSDKサービスクライアントをサポートします。このツールには、このトピックの最後にリストされているいくつかの制限もあります。

移行ツールを使用する

Maven プロジェクトの移行

Maven OpenRewriteプラグインツールを使用して SDK for Java 1.x Maven ベースのプロジェクトを移行するには、次の手順に従います。

  1. Maven プロジェクトのルートディレクトリに移動する

    ターミナル (コマンドライン) ウィンドウを開き、Maven ベースのアプリケーションのルートディレクトリに移動します。

  2. プラグインの rewrite-maven-plugin コマンドを実行する

    2 つのモード (Maven 目標) から選択できます。 dryRunと ですrun

    dryRun モード

    dryRun モードでは、プラグインはコンソール出力に diff ログを生成し、 target/rewrite フォルダrewrite.patchに という名前のパッチファイルを生成します。このモードでは、ソースコードファイルに変更は行われないため、行われる変更をプレビューできます。

    次の例は、プラグインを dryRun モードで呼び出す方法を示しています。

    mvn org.openrewrite.maven:rewrite-maven-plugin:dryRun \ -Drewrite.recipeArtifactCoordinates=software.amazon.awssdk:v2-migration:<sdkversion>*-PREVIEW \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2

    *置き換え <sdkversion> 2.x SDKバージョン。Maven Central にアクセスして、最新バージョンを確認します。

    dryRun モードからのコンソール出力は次の出力に似ているはずです。

    [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 モード

    プラグインをrunモードで実行すると、ディスク上のソースコードが変更され、変更が適用されます。コマンドを実行する前に、ソースコードのバックアップがあることを確認してください。

    次の例は、プラグインを run モードで呼び出す方法を示しています。

    mvn org.openrewrite.maven:rewrite-maven-plugin:run \ -Drewrite.recipeArtifactCoordinates=software.amazon.awssdk:v2-migration:<sdkversion>*-PREVIEW \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2

    *置き換え <sdkversion> 2.x SDKバージョン。Maven Central にアクセスして、最新バージョンを確認します。

    コマンドを実行したら、アプリケーションをコンパイルし、テストを実行して変更を検証します。

Gradle プロジェクトの移行

OpenRewrite Gradle プラグインツールを使用して SDK for Java 1.x グレードベースのプロジェクトを移行するには、以下の手順に従ってください。

  1. Maven プロジェクトのルートディレクトリに移動する

    ターミナル (コマンドライン) ウィンドウを開き、Gradle ベースのアプリケーションのルートディレクトリに移動します。

  2. Gradle init スクリプトを作成する

    ディレクトリに次のコンテンツを含むinit.gradleファイルを作成します。

    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() } } } }
  3. rewrite コマンドの実行

    Maven プラグインと同様に、Gradle プラグインを dryRunまたは runモードで実行できます。

    dryRun モード

    次の例は、プラグインを dryRun モードで呼び出す方法を示しています。

    gradle rewriteDryRun --init-script init.gradle \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2

    run モード

    次の例は、プラグインを run モードで呼び出す方法を示しています。

    gradle rewriteRun --init-script init.gradle \ -Drewrite.activeRecipes=software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2

現在の制限事項

現在のプレビューリリースでは、 のすべての機能をサポートしているわけではありませんSDK。追加の機能のサポートが間もなく追加されます。

このツールは現在、以下の機能をサポートしていません。以下のリストのリンクをクリックすると、コードを手動で移行するのに役立つ移行情報が表示されます。