Herramienta de migración (versión preliminar) - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Herramienta de migración (versión preliminar)

AWS SDK for Java Proporciona una herramienta de migración que ayuda a automatizar la migración del SDK código Java 1.x a 2.x. La herramienta utiliza OpenRewriteuna herramienta de refactorización del código fuente de código abierto para realizar la migración.

Ahora puede utilizar la herramienta como versión preliminar. La herramienta es compatible con todos los clientes SDK de servicio, excepto Amazon S3Client y los de alto nivelAPIs, como TransferManagery D. ynamoDBMapper La herramienta también tiene algunas limitaciones que se enumeran al final de este tema.

Utilice la herramienta de migración

Migre un proyecto de Maven

Siga las instrucciones que aparecen a continuación para migrar su proyecto basado en Maven SDK para Java 1.x mediante la OpenRewrite herramienta de complementos de Maven.

  1. Navega hasta el directorio raíz de tu proyecto Maven

    Abre una ventana de terminal (línea de comandos) y navega hasta el directorio raíz de tu aplicación basada en Maven.

  2. Ejecuta el comando del plugin rewrite-maven-plugin

    Puedes elegir entre dos modos (objetivos de Maven): dryRun yrun.

    Modo dryRun

    En este dryRun modo, el complemento genera registros de diferencias en la salida de la consola y un archivo de parche con un nombre rewrite.patch en la target/rewrite carpeta. Este modo te permite previsualizar los cambios que se van a realizar, ya que no se realizan cambios en los archivos de código fuente.

    El siguiente ejemplo muestra cómo invocar el complemento en el dryRun modo.

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

    *Reemplazar <sdkversion> con una versión 2.xSDK. Visite Maven Central para comprobar la última versión.

    La salida de la consola desde este dryRun modo debe ser similar a la siguiente salida.

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

    Modo run

    Cuando ejecutas el complemento en run modo, modifica el código fuente del disco para aplicar los cambios. Asegúrese de tener una copia de seguridad del código fuente antes de ejecutar el comando.

    El siguiente ejemplo muestra cómo invocar el complemento en run modo.

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

    *Reemplazar <sdkversion> con una versión 2.xSDK. Visite Maven Central para comprobar la última versión.

    Después de ejecutar el comando, compile la aplicación y ejecute pruebas para comprobar los cambios.

Migre un proyecto de Gradle

Sigue las instrucciones que aparecen a continuación para migrar tu SDK proyecto basado en Java 1.x Grade mediante la OpenRewrite herramienta de complementos de Gradle.

  1. Navega hasta el directorio raíz de tu proyecto de Maven

    Abre una ventana de terminal (línea de comandos) y navega hasta el directorio raíz de tu aplicación basada en Gradle.

  2. Crea un script de inicio de Gradle

    Crea un init.gradle archivo con el siguiente contenido en el directorio.

    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. Ejecute el rewrite comando

    Al igual que con el complemento Maven, puedes ejecutar el complemento de Gradle en el modo dryRun orun.

    Modo dryRun

    En el siguiente ejemplo, se muestra cómo invocar el complemento en el modo. dryRun

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

    Modo run

    El siguiente ejemplo muestra cómo invocar el complemento en run el modo.

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

Limitaciones actuales

La versión preliminar actual no admite todas las funciones deSDK. Pronto se añadirá soporte para funciones adicionales.

Actualmente, la herramienta no admite las siguientes funciones. Los enlaces de la siguiente lista le llevan a la información sobre migración para ayudarle a migrar el código manualmente.