Migrationstool (Vorschauversion) - AWS SDK for Java 2.x

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrationstool (Vorschauversion)

Das AWS SDK for Java bietet ein Migrationstool, mit dessen Hilfe die Migration von SDK Java 1.x-Code auf 2.x automatisiert werden kann. Das Tool verwendet OpenRewrite— ein Open-Source-Tool zur Refaktorierung von Quellcode —, um die Migration durchzuführen.

Sie können das Tool jetzt als Vorabversion verwenden. Das Tool unterstützt alle SDK Service-Clients mit Ausnahme von AmazonS3Client und High-Level-Clients APIs wie TransferManagerund D. ynamoDBMapper Das Tool hat auch einige Einschränkungen, die am Ende dieses Themas aufgeführt sind.

Verwenden Sie das Migrationstool

Migrieren Sie ein Maven-Projekt

Folgen Sie den nachstehenden Anweisungen, um Ihr SDK auf Java 1.x basierendes Projekt mithilfe des OpenRewrite Maven-Plugin-Tools zu migrieren.

  1. Navigieren Sie zum Stammverzeichnis Ihres Maven-Projekts

    Öffnen Sie ein Terminalfenster (Befehlszeile) und navigieren Sie zum Stammverzeichnis Ihrer Maven-basierten Anwendung.

  2. Führen Sie den Befehl des Plugins aus rewrite-maven-plugin

    Du kannst zwischen zwei Modi (Maven-Ziele) wählen: dryRun undrun.

    dryRun Modus

    In diesem dryRun Modus generiert das Plugin Diff-Logs in der Konsolenausgabe und eine rewrite.patch im target/rewrite Ordner benannte Patch-Datei. In diesem Modus können Sie eine Vorschau der Änderungen anzeigen, die vorgenommen werden würden, da keine Änderungen an den Quellcodedateien vorgenommen werden.

    Das folgende Beispiel zeigt, wie das Plugin im dryRun Modus aufgerufen wird.

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

    *Ersetzen <sdkversion> durch eine 2.x-VersionSDK. Besuchen Sie Maven Central, um nach der neuesten Version zu suchen.

    Ihre Konsolenausgabe aus dem dryRun Modus sollte der folgenden Ausgabe ähneln.

    [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 Modus

    Wenn Sie das Plug-in im run Modus ausführen, ändert es den Quellcode auf der Festplatte, sodass die Änderungen übernommen werden. Stellen Sie sicher, dass Sie eine Sicherungskopie des Quellcodes haben, bevor Sie den Befehl ausführen.

    Das folgende Beispiel zeigt, wie das Plugin im run Modus aufgerufen wird.

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

    *Ersetzen <sdkversion> durch eine 2.x-VersionSDK. Besuchen Sie Maven Central, um nach der neuesten Version zu suchen.

    Nachdem Sie den Befehl ausgeführt haben, kompilieren Sie Ihre Anwendung und führen Sie Tests durch, um die Änderungen zu überprüfen.

Migrieren Sie ein Gradle-Projekt

Folgen Sie den nachstehenden Anweisungen, um Ihr SDK auf Java 1.x Grade basierendes Projekt mithilfe des OpenRewrite Gradle-Plugin-Tools zu migrieren.

  1. Navigieren Sie zum Stammverzeichnis Ihres Maven-Projekts

    Öffnen Sie ein Terminalfenster (Befehlszeile) und navigieren Sie zum Stammverzeichnis Ihrer Gradle-basierten Anwendung.

  2. Erstellen Sie ein Gradle-Init-Skript

    Erstellen Sie eine init.gradle Datei mit dem folgenden Inhalt im Verzeichnis.

    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. Führen Sie den rewrite Befehl aus

    Wie beim Maven-Plugin können Sie das Gradle-Plugin im Modus dryRun oder run ausführen.

    dryRun Modus

    Das folgende Beispiel zeigt, wie das Plugin im Modus aufgerufen wird. dryRun

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

    run Modus

    Das folgende Beispiel zeigt, wie das Plugin im run Modus aufgerufen wird.

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

Aktuelle Einschränkungen

Die aktuelle Vorschauversion unterstützt nicht alle Funktionen in derSDK. Support für zusätzliche Funktionen wird in Kürze hinzugefügt.

Das Tool unterstützt derzeit nicht die folgenden Funktionen. Über die Links in der folgenden Liste gelangen Sie zu Migrationsinformationen, die Ihnen bei der manuellen Migration des Codes helfen.