

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Rechercher des applications utilisant des AWS SDK pour Java clients 1.x
<a name="migration-find-apps-using-v1"></a>

Avant de migrer vers le AWS SDK for Java 2.x, vous devez identifier les applications de votre environnement qui utilisent le SDK for Java 1.x clients. Vous pouvez utiliser CloudTrail les journaux pour suivre l'utilisation du SDK, rechercher des avertissements de dépréciation dans les journaux des applications, inspecter votre code source et créer des configurations, ou examiner vos artefacts Java déployables. Utilisez les méthodes disponibles dans votre environnement.

## Utilisez CloudTrail Lake pour rechercher des applications avec des clients 1.x
<a name="migration-find-v1-apps-with-cloudtrail"></a>

AWS CloudTrail Lake vous permet d'interroger les événements enregistrés par CloudTrail. Procédez comme suit pour créer un lac de données identifiant les versions du SDK utilisées par vos applications :

1. Créez un lac CloudTrail de données. Reportez-vous au [guide de l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html) pour créer un magasin de données d'événements.

1. Après avoir créé le magasin de données, examinez le contenu de l'enregistrement. Le corps de l'enregistrement contient des champs qui déterminent l'action, le moment et le lieu demandés. Pour plus de détails, reportez-vous au [guide de l'utilisateur pour le contenu des CloudTrail enregistrements](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

1. Exécutez des requêtes sur vos données. Suivez le [guide de l'utilisateur pour interroger et enregistrer les résultats des requêtes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-run-query.html).

Le champ *UserAgent* de chaque enregistrement contient la version du SDK à l'origine de la demande. Utilisez ce champ pour identifier les applications utilisant le SDK for Java 1.x.

L'exemple de requête suivant trouve toutes les demandes d'identifiant provenant d'applications utilisateur et d'outils tiers effectuées avec le SDK for Java 1.x à partir du 17 juin 2025 : EventDatastore `sample-Data-Store-Id`

```
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
```

Voici un exemple de contenu d'événement dans le résultat de la requête :

```
{
    "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"
}
```

Vous pouvez utiliser ces informations pour déterminer quand et où la demande a été faite.

Dans l'exemple, une demande DynamoDB `ListTables` a été effectuée `2025-07-01 02:23:52 (UTC)` à partir de l'`12.345.6.78`adresse IP avec les informations d'identification de l'utilisateur IAM nommé Alice. La valeur du champ *UserAgent* indique que la demande a été faite à l'aide de la AWS SDK pour Java version `1.12.746` d'un système Linux avec JDK 11.

Pour une description des champs de l'enregistrement d' AWS CloudTrail événement, voir le [contenu de l'CloudTrail enregistrement pour les événements relatifs à la gestion, aux données et à l'activité réseau](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

S'il n' CloudTrail est pas activé dans votre compte, contactez l'administrateur du AWS compte de votre organisation pour l'activer, ou utilisez l'une des méthodes alternatives décrites dans les sections suivantes.

CloudTrail Impliquez les frais pour les données ingérées et les données numérisées par requête. Pour minimiser les coûts, filtrez les requêtes en fonction de plages horaires et de régions spécifiques. Pour connaître la tarification actuelle, consultez [Tarification AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/).

## Rechercher dans les journaux d'avertissement des applications pour détecter la dépréciation du SDK
<a name="migration-find-v1-apps-log-warning"></a>

À partir de la version 1.12.767 (publiée le 30 juillet 2024), la version AWS SDK pour Java 1.x émet un avertissement d'obsolescence au démarrage de l'application. Vous pouvez rechercher cet avertissement dans les journaux de vos applications afin d'identifier les applications et les hôtes qui utilisent le SDK for Java 1.x.

Le libellé exact de l'avertissement dépend de la version du SDK :
+ Versions 1.12.767 à 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...`
+ Versions 1.12.797 et supérieures :

  `WARNING: The AWS SDK for Java 1.x reached end of support on December 31, 2025...`

La fin `...` indique que le message d'avertissement continue avec du texte supplémentaire. Vous pouvez rechercher le préfixe commun pour `The AWS SDK for Java 1.x` trouver l'une ou l'autre version de l'avertissement.

L'exemple suivant montre comment rechercher cet avertissement à l'aide de `grep` :

```
grep -r "The AWS SDK for Java 1.x" /path/to/your/application/logs/
```

Si l'avertissement est détecté, la `grep` commande imprime les lignes de journal correspondantes. Si aucun avertissement n'est détecté, cela signifie que votre application n'utilise pas le SDK pour Java 1.x ou qu'elle utilise une version antérieure à 1.12.767. Dans ce cas, utilisez l'une des autres méthodes décrites dans ce document.

## Rechercher le code source et les dépendances
<a name="migration-find-v1-apps-source-code"></a>

Vous pouvez rechercher des références à la version AWS SDK pour Java 1.x dans votre base de code et dans vos fichiers de configuration de build. L'identifiant clé est l'ID de `com.amazonaws` groupe, qui est utilisé par tous les artefacts du SDK for Java 1.x.

Les exemples suivants montrent comment `grep` rechercher des `com.amazonaws` références dans des fichiers de projet Java courants.

**Exemple : recherche dans les fichiers source Java pour les importations du SDK for Java 1.x (exécution depuis le répertoire racine du projet)**

```
grep -r "import com.amazonaws" --include="*.java" .
```

Exemple de sortie :

```
src/main/java/com/example/App.java:import com.amazonaws.services.s3.AmazonS3;
```

**Note**  
Le `com.amazonaws` package est également utilisé par les bibliothèques qui ne font pas partie du SDK pour Java 1.x, telles que. `aws-lambda-java-core` Pour confirmer qu'une importation provient du SDK for Java 1.x, vérifiez que l'ID d'artefact correspondant dans votre configuration ou dans `pom.xml` votre `build.gradle` configuration de gestion des dépendances commence par. `aws-java-sdk-`

**Exemple : recherchez dans `pom.xml` les fichiers Maven les dépendances du SDK for Java 1.x (exécuté à partir du répertoire racine du projet)**

```
grep -r "com.amazonaws" --include="pom.xml" .
```

Exemple de sortie :

```
pom.xml:    <groupId>com.amazonaws</groupId>
```

**Exemple : recherchez dans les fichiers de build Gradle les dépendances du SDK for Java 1.x (exécuté à partir du répertoire racine du projet)**

```
grep -r "com.amazonaws:aws-java-sdk" --include="*.gradle" .
```

Exemple de sortie :

```
build.gradle:    implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'
```

Les `grep` commandes précédentes identifient les références au SDK for Java 1.x déclarées directement dans vos fichiers source et de compilation. Cependant, votre application peut également dépendre du SDK pour Java 1.x de manière transitive, par le biais d'une bibliothèque tierce qui dépend elle-même du SDK. Utilisez l'arbre de dépendances de votre outil de génération pour trouver les dépendances directes et transitives du SDK for Java 1.x. Choisissez l'exemple qui correspond à votre système de compilation.

**Exemple : utilisez Maven pour rechercher toutes les dépendances du SDK transitif pour Java 1.x (exécuté à partir du répertoire racine du projet)**

```
mvn dependency:tree -Dincludes=com.amazonaws
```

Exemple de sortie :

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

L'`-Dincludes=com.amazonaws`indicateur filtre l'arborescence pour n'afficher que les artefacts du SDK for Java 1.x. Dans cet exemple, `aws-java-sdk-s3` il s'agit d'une dépendance directe, mais `aws-java-sdk-dynamodb` d'une dépendance transitive introduite par`some.thirdparty:library`.

**Exemple : utilisez Gradle pour rechercher toutes les dépendances du SDK transitif pour Java 1.x (exécuté à partir du répertoire racine du projet)**

```
gradle dependencies --configuration runtimeClasspath | grep "com.amazonaws"
```

Exemple de sortie :

```
+--- 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 ne possède pas de filtre de dépendance intégré équivalent à celui de Maven`-Dincludes`, donc le rediriger `grep` est l'approche la plus simple.

## Inspectez les artefacts Java déployables
<a name="migration-find-v1-apps-inspect-artifacts"></a>

Vous pouvez inspecter vos artefacts Java déployables (JARs, WARs, ou EARs) pour vérifier si la version AWS SDK pour Java 1.x est intégrée à votre application. Les fichiers d'archive Java sont des fichiers au format ZIP. Pour déterminer si le SDK for Java 1.x est présent, recherchez le `com/amazonaws/sdk/versionInfo.properties` fichier dans l'archive. Ce fichier est inclus dans le `aws-java-sdk-core` module et contient le numéro de version du SDK.

### Vérification rapide à l'aide de la `jar` commande
<a name="migration-find-v1-apps-jar-command"></a>

Pour les fichiers uber-jars où toutes les classes de dépendance sont fusionnées au niveau supérieur, listez le contenu de l'archive et recherchez le fichier de version :

Dans les exemples suivants, remplacez par `myapp.jar` le chemin d'accès au fichier JAR de votre application.

```
jar -tf myapp.jar | grep 'versionInfo.properties'
```

Si le SDK est présent, le résultat est le suivant :

```
com/amazonaws/sdk/versionInfo.properties
```

Si la `jar` commande n'est pas disponible dans votre environnement (par exemple, images de conteneur uniquement ou images de conteneur minimales), vous pouvez utiliser `unzip -l` à la place :

```
unzip -l myapp.jar | grep 'versionInfo.properties'
```

Pour imprimer la version :

```
unzip -p myapp.jar com/amazonaws/sdk/versionInfo.properties
```

Exemple de sortie :

```
platform=java
version=1.12.xxx
```

**Note**  
Les commandes précédentes ne recherchent que les entrées de premier niveau dans uber-jars. Ils ne trouveront pas de classes de SDK dans Thin JARs (où les dépendances sont externes) ou dans des classes imbriquées JARs (comme celles qui se trouvent dans ou dans WARs les packages Lambda situés sous ou). EARs `lib/` `WEB-INF/lib/` Pour Thin JARs, vérifiez plutôt la configuration de votre build (`pom.xml`,`build.gradle`) ou votre arbre de dépendances. Pour Nested JARs, recherchez le bundle à l' JARs aide d'un outil capable de lire les archives ZIP de manière récursive sans les extraire sur le disque.