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
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
-
Navigieren Sie zum Stammverzeichnis Ihres Maven-Projekts
Öffnen Sie ein Terminalfenster (Befehlszeile) und navigieren Sie zum Stammverzeichnis Ihrer Maven-basierten Anwendung.
-
Führen Sie den Befehl des Plugins aus
rewrite-maven-plugin
Du kannst zwischen zwei Modi (Maven-Ziele) wählen:
dryRun
undrun
.dryRun
ModusIn diesem
dryRun
Modus generiert das Plugin Diff-Logs in der Konsolenausgabe und einerewrite.patch
imtarget/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
ModusWenn 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
-
Navigieren Sie zum Stammverzeichnis Ihres Maven-Projekts
Öffnen Sie ein Terminalfenster (Befehlszeile) und navigieren Sie zum Stammverzeichnis Ihrer Gradle-basierten Anwendung.
-
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() } } } }
-
Führen Sie den
rewrite
Befehl ausWie beim Maven-Plugin können Sie das Gradle-Plugin im Modus
dryRun
oderrun
ausführen.dryRun
ModusDas 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
ModusDas 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.
-
S3 Client (AmazonS3Client), das Tool unterstützt derzeit folgende Methoden
putObject
getObject
-
S3-Übertragungsmanager () TransferManager
-
URIS3-Analyse (URIAmazonS3)
-
DynamoDB-Objektzuordnung (D) ynamoDBMapper
-
EC2Metadaten-Hilfsprogramm () EC2MetadataUtils
-
Kellner () AmazonDynamo DBWaiters
-
IAMPolicy Builder (Richtlinie)
-
CloudFront vorsignieren (CloudFrontUrlSigner, CloudFrontCookieSigner)
-
S3-Ereignisbenachrichtigungen (S3EventNotification)
-
SDKVeröffentlichung von Metriken (1.x-Dokumentation, 2.x-Dokumentation)