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.
Encuentre aplicaciones mediante clientes AWS SDK para Java 1.x
Antes de migrar a AWS SDK for Java 2.x, debe identificar qué aplicaciones de su entorno utilizan los clientes del SDK for Java 1.x. Puede usar CloudTrail los registros para rastrear el uso del SDK, buscar en los registros de las aplicaciones advertencias de obsolescencia, inspeccionar el código fuente y las configuraciones de compilación, o examinar los artefactos de Java que se pueden implementar. Utilice los métodos que estén disponibles en su entorno.
Utilice CloudTrail Lake para buscar aplicaciones con clientes 1.x
AWS CloudTrail Lake le permite consultar los eventos registrados por CloudTrail. Siga estos pasos para crear un lago de datos que identifique las versiones del SDK que utilizan sus aplicaciones:
-
Cree un lago CloudTrail de datos. Consulte la Guía del usuario para crear un almacén de datos de eventos.
-
Después de crear el almacén de datos, examine el contenido del registro. El cuerpo del registro contiene campos que determinan la acción, el momento y la ubicación solicitados. Para obtener más información, consulte la guía del usuario para ver el contenido de los CloudTrail registros.
-
Ejecute consultas con sus datos. Siga la Guía del usuario para consultar y guardar los resultados de las consultas.
El campo userAgent de cada registro contiene la versión del SDK que realizó la solicitud. Utilice este campo para identificar las aplicaciones que utilizan SDK for Java 1.x.
La siguiente consulta de ejemplo busca todas las solicitudes de un EventDatastore ID sample-Data-Store-Id procedentes de aplicaciones de usuario y herramientas de terceros realizadas con el SDK para Java 1.x a partir del 17 de junio de 2025:
select userIdentity, eventSource, awsRegion, eventName, eventType, eventTime, userAgent, requestParameters, sourceIPAddress from sample-Data-Store-Id where eventTime > '2025-06-17 00:00:00' and userAgent like '%aws-sdk-java/1.%' and userAgent not like '%aws-internal/%' order by eventTime desc
Un ejemplo del contenido del evento en el resultado de la consulta es el siguiente:
{ "userIdentity": "{ "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice" }", "eventSource": "dynamodb.amazonaws.com", "awsRegion": "us-west-2", "eventName": "ListTables", "eventType": "AwsApiCall", "eventTime": "2025-07-01 02:23:52.000", "userAgent": "aws-sdk-java/1.12.746 Linux/5.10.240 OpenJDK/11.0.25+9-LTS ...", "requestParameters": "", "sourceIPAddress": "12.345.6.78" }
Puede usar esta información para ayudar a determinar cuándo y dónde se realizó la solicitud.
En el ejemplo, se realizó una solicitud ListTables de DynamoDB en 2025-07-01
02:23:52 (UTC) desde la dirección IP 12.345.6.78 con las credenciales del usuario de IAM llamado Alice. El valor del campo UserAgent muestra que la solicitud se realizó con la AWS SDK para Java versión 1.12.746 de un sistema Linux con JDK 11.
Para obtener una descripción de los campos del registro de AWS CloudTrail eventos, consulte el contenido del CloudTrail registro de eventos de administración, datos y actividad de red.
Si no CloudTrail está activado en su cuenta, póngase en contacto con el administrador de AWS cuentas de su organización para activarlo o utilice uno de los métodos alternativos que se describen en las siguientes secciones.
CloudTrail Lake cobra por los datos ingeridos y escaneados por consulta. Para minimizar los costes, filtra las consultas por intervalos de tiempo y regiones específicos. Para conocer los precios actuales, consulte Precios de AWS CloudTrail
Busca en los registros de nivel de advertencia de las aplicaciones si el SDK está obsoleto
A partir de la versión 1.12.767 (publicada el 30 de julio de 2024), la versión AWS SDK para Java 1.x emite una advertencia de obsolescencia al iniciar la aplicación. Puede buscar esta advertencia en los registros de las aplicaciones para identificar qué aplicaciones y hosts utilizan SDK for Java 1.x.
La redacción exacta de la advertencia depende de la versión del SDK:
-
Versiones de la 1.12.767 a la 1.12.796:
WARNING: The AWS SDK for Java 1.x entered maintenance mode starting July 31, 2024 and will reach end of support on December 31, 2025... -
Versiones 1.12.797 y superiores:
WARNING: The AWS SDK for Java 1.x reached end of support on December 31, 2025...
El final ... indica que el mensaje de advertencia continúa con texto adicional. Puede buscar el prefijo común The AWS SDK for Java 1.x para encontrar cualquier versión de la advertencia.
En el siguiente ejemplo, se muestra la búsqueda de esta advertencia mediantegrep:
grep -r "The AWS SDK for Java 1.x" /path/to/your/application/logs/
Si se encuentra la advertencia, el grep comando imprime las líneas de registro coincidentes. Si no se encuentra ninguna advertencia, la aplicación no utiliza el SDK for Java 1.x o utiliza una versión anterior a la 1.12.767. En ese caso, utilice uno de los otros métodos descritos en este documento.
Busque el código fuente y las dependencias
Puede buscar referencias a la versión 1.x en su base de código y en los archivos de configuración de compilación. AWS SDK para Java El identificador clave es el ID de com.amazonaws grupo, que utilizan todos los artefactos del SDK for Java 1.x.
En los siguientes ejemplos se muestra cómo grep se utiliza para buscar com.amazonaws referencias en archivos de proyectos Java comunes.
Ejemplo: busque en los archivos fuente de Java las importaciones del SDK para Java 1.x (ejecutadas desde el directorio raíz del proyecto)
grep -r "import com.amazonaws" --include="*.java" .
Ejemplo de código de salida:
src/main/java/com/example/App.java:import com.amazonaws.services.s3.AmazonS3;
nota
El com.amazonaws paquete también lo utilizan las bibliotecas que no forman parte del SDK para Java 1.x, comoaws-lambda-java-core. Para confirmar que la importación proviene de SDK for Java 1.x, comprueba que el ID de artefacto correspondiente en tu configuración de administración de dependencias o de tu pom.xml configuración de administración de dependencias comience por. build.gradle aws-java-sdk-
Ejemplo: busque en pom.xml archivos Maven las dependencias del SDK for Java 1.x (ejecutadas desde el directorio raíz del proyecto)
grep -r "com.amazonaws" --include="pom.xml" .
Ejemplo de código de salida:
pom.xml: <groupId>com.amazonaws</groupId>
Ejemplo: busca en archivos de compilación de Gradle las dependencias del SDK for Java 1.x (ejecutadas desde el directorio raíz del proyecto)
grep -r "com.amazonaws:aws-java-sdk" --include="*.gradle" .
Ejemplo de código de salida:
build.gradle: implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'
Los grep comandos anteriores identifican las referencias de SDK for Java 1.x declaradas directamente en los archivos fuente y de compilación. Sin embargo, es posible que tu aplicación también dependa del SDK for Java 1.x de forma transitiva, a través de una biblioteca de terceros que a su vez depende del SDK. Usa el árbol de dependencias de la herramienta de compilación para encontrar las dependencias directas y transitivas del SDK for Java 1.x. Elige el ejemplo que coincida con tu sistema de compilación.
Ejemplo: Usa Maven para buscar todas las dependencias transitivas del SDK for Java 1.x (ejecutadas desde el directorio raíz del proyecto)
mvn dependency:tree -Dincludes=com.amazonaws
Ejemplo de código de salida:
[INFO] com.example:my-application:jar:1.0-SNAPSHOT [INFO] +- com.amazonaws:aws-java-sdk-s3:jar:1.12.746:compile [INFO] | \- com.amazonaws:aws-java-sdk-core:jar:1.12.746:compile [INFO] \- some.thirdparty:library:jar:2.3.1:compile [INFO] \- com.amazonaws:aws-java-sdk-dynamodb:jar:1.12.600:compile
La -Dincludes=com.amazonaws marca filtra el árbol para mostrar solo los artefactos del SDK for Java 1.x. En este ejemplo, aws-java-sdk-s3 es una dependencia directa, pero aws-java-sdk-dynamodb es una dependencia transitiva introducida por. some.thirdparty:library
Ejemplo: usa Gradle para buscar todas las dependencias transitivas del SDK for Java 1.x (se ejecutan desde el directorio raíz del proyecto)
gradle dependencies --configuration runtimeClasspath | grep "com.amazonaws"
Ejemplo de código de salida:
+--- com.amazonaws:aws-java-sdk-s3:1.12.746 | \--- com.amazonaws:aws-java-sdk-core:1.12.746 \--- com.amazonaws:aws-java-sdk-dynamodb:1.12.600
Gradle no tiene un filtro de dependencias integrado equivalente al de Maven-Dincludes, por lo que canalizarlo es el enfoque más sencillo. grep
Inspecciona los artefactos de Java desplegables
Puede inspeccionar los artefactos de Java desplegables (JARs WARs, o EARs) para confirmar si la versión AWS SDK para Java 1.x viene empaquetada con la aplicación. Los archivos de almacenamiento de Java son archivos en formato ZIP. Para determinar si SDK for Java 1.x está presente, busque el archivo com/amazonaws/sdk/versionInfo.properties dentro del archivo. Este archivo está incluido en el aws-java-sdk-core módulo y contiene el número de versión del SDK.
Comprobación rápida con el jar comando
En el caso de los uber-jar, en los que todas las clases de dependencias se combinan en el nivel superior, muestre el contenido del archivo y busque el archivo de versión:
En los ejemplos siguientes, myapp.jar sustitúyalo por la ruta al archivo JAR de la aplicación.
jar -tf myapp.jar | grep 'versionInfo.properties'
Si el SDK está presente, el resultado es:
com/amazonaws/sdk/versionInfo.properties
Si el jar comando no está disponible en su entorno (por ejemplo, imágenes de contenedor mínimas o solo en JRE), puede usar unzip -l en su lugar:
unzip -l myapp.jar | grep 'versionInfo.properties'
Para imprimir la versión:
unzip -p myapp.jar com/amazonaws/sdk/versionInfo.properties
Ejemplo de código de salida:
platform=java version=1.12.xxx
nota
Los comandos anteriores solo buscan entradas de nivel superior en uber-jars. No encontrarán las clases de SDK compactas JARs (donde las dependencias son externas) ni dentro de las anidadas JARs (como las que se encuentran en WARs los paquetes Lambda o en o). EARs lib/ WEB-INF/lib/ En el caso de Thin JARs, comprueba la configuración de compilación (pom.xml,build.gradle) o el árbol de dependencias. En el caso de anidado JARs, busca el paquete JARs con una herramienta que pueda leer archivos ZIP de forma recursiva sin necesidad de extraerlos en el disco.