

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.

# Suchen Sie nach Anwendungen, die AWS SDK für Java 1.x-Clients verwenden
<a name="migration-find-apps-using-v1"></a>

Vor der Migration auf die müssen Sie ermitteln AWS SDK for Java 2.x, welche Anwendungen in Ihrer Umgebung das SDK for Java 1.x-Clients verwenden. Sie können CloudTrail Protokolle verwenden, um die SDK-Nutzung nachzuverfolgen, Anwendungsprotokolle nach veralteten Versionen zu durchsuchen, Ihren Quellcode und Ihre Build-Konfigurationen zu überprüfen oder Ihre bereitstellbaren Java-Artefakte zu untersuchen. Verwenden Sie die Methoden, die in Ihrer Umgebung verfügbar sind.

## Verwenden Sie CloudWatch Logs Insights, um Anwendungen mit 1.x-Clients zu finden
<a name="migration-find-v1-apps-with-cw-logs-insights"></a>

Mit Amazon CloudWatch Logs Insights können Sie CloudTrail Ereignisse abfragen, die an eine CloudWatch Logs-Protokollgruppe übermittelt wurden. Verwenden Sie diese Methode, um SDK-Versionen anhand des *UserAgent-Felds* in CloudTrail Datensätzen zu identifizieren. Sie benötigen einen CloudTrail Trail mit aktivierten **CloudWatch Protokollen**. Falls Sie noch keinen haben, finden Sie weitere Informationen unter [Einen Trail mit der CloudTrail Konsole erstellen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) und [Ereignisse an CloudWatch Logs senden](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html).

Navigieren Sie in der CloudWatch Konsole unter **Logs zu **Logs** Insights**. Wählen Sie Ihre CloudTrail Protokollgruppe aus und legen Sie den Zeitraum so fest, dass er den Zeitraum abdeckt, den Sie analysieren möchten. Einzelheiten zur Verwendung von Logs Insights finden Sie unter [Analysieren von Protokolldaten mit CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Die folgenden Beispielabfragen finden alle Anfragen von Benutzeranwendungen und Tools von Drittanbietern, die mit SDK for Java 1.x erstellt wurden. Logs Insights unterstützt sowohl Logs Insights QL als auch SQL. Die QL-Abfrage verwendet die in der Konsole ausgewählte Protokollgruppe. Für die SQL-Abfrage müssen Sie den Namen der Protokollgruppe in der `FROM` Klausel angeben.

Logs Insights QL-Abfrage:

```
fields userIdentity.type, userIdentity.arn, eventSource, awsRegion,
       eventName, eventType, eventTime, userAgent, sourceIPAddress
| filter userAgent like /aws-sdk-java\/1\./
| filter userAgent not like /aws-internal\//
| sort eventTime desc
```

SQL-Abfrage:

```
SELECT `userIdentity.type`,
       `userIdentity.arn`,
       eventSource,
       awsRegion,
       eventName,
       eventType,
       eventTime,
       userAgent,
       sourceIPAddress
  FROM `{{sample-cloudtrail-log-group}}`
 WHERE userAgent LIKE '%aws-sdk-java/1.%'
   AND userAgent NOT LIKE '%aws-internal/%'
 ORDER BY eventTime DESC
```

{{sample-cloudtrail-log-group}}Ersetzen Sie es durch den Namen Ihrer CloudTrail Protokollgruppe.

Um die Ergebnisse zu exportieren, wählen Sie **Ergebnisse exportieren**. Das folgende Beispiel zeigt ein einzelnes Ereignis im JSON-Format:

```
{
  "userIdentity.type": "AssumedRole",
  "userIdentity.arn": "arn:aws:sts::123456789012:assumed-role/Admin/Alice",
  "eventSource": "dynamodb.amazonaws.com",
  "awsRegion": "us-east-1",
  "eventName": "ListTables",
  "eventType": "AwsApiCall",
  "eventTime": "2025-07-01T22:02:23Z",
  "userAgent": "aws-sdk-java/1.12.746 Linux/5.10.240 OpenJDK/11.0.25+9-LTS ...",
  "sourceIPAddress": "12.345.6.78"
}
```

In diesem Beispiel wurde eine `ListTables` DynamoDB-Anfrage `2025-07-01T22:02:23 (UTC)` von einer IP-Adresse `12.345.6.78` mit den Anmeldeinformationen der angenommenen Rolle gestellt. `Admin/Alice` Das Feld *UserAgent* zeigt, dass die Anfrage mithilfe der SDK for Java Java-Version `1.12.746` auf einem Linux-System mit JDK 11 gestellt wurde.

Eine Beschreibung der Felder im AWS CloudTrail Ereignisdatensatz finden Sie unter Inhalt des [CloudTrail Datensatzes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

Wenn CloudTrail es in Ihrem Konto nicht aktiviert ist, wenden Sie sich an den AWS Kontoadministrator Ihrer Organisation, um es zu aktivieren, oder verwenden Sie eine der in den folgenden Abschnitten beschriebenen alternativen Methoden.

CloudWatch Logs Insights berechnet die Gebühren pro Abfrage auf der Grundlage der Menge der gescannten Daten. Wenn Sie speziell für diese Untersuchung einen Trail erstellt haben, sollten Sie erwägen, ihn zu beenden oder zu löschen, um laufende Gebühren zu vermeiden. Aktuelle Preise finden Sie unter [ CloudWatch Amazon-Preise](https://aws.amazon.com/cloudwatch/pricing/).

## Suchen Sie in den Protokollen der Anwendung auf Warnstufe nach SDK-Verfall
<a name="migration-find-v1-apps-log-warning"></a>

Ab Version 1.12.767 (veröffentlicht am 30. Juli 2024) gibt Version AWS SDK für Java 1.x beim Start der Anwendung eine Verfallswarnung aus. Sie können Ihre Anwendungsprotokolle nach dieser Warnung durchsuchen, um festzustellen, welche Anwendungen und Hosts SDK for Java 1.x verwenden.

Der genaue Wortlaut der Warnung hängt von der SDK-Version ab:
+ Versionen 1.12.767 bis 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...`
+ Versionen 1.12.797 und höher:

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

Das Ende `...` weist darauf hin, dass die Warnmeldung mit zusätzlichem Text fortgesetzt wird. Sie können nach dem gemeinsamen Präfix suchen`The AWS SDK for Java 1.x`, um eine der beiden Versionen der Warnung zu finden.

Das folgende Beispiel zeigt die Suche nach dieser Warnung mit`grep`:

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

Wenn die Warnung gefunden wird, druckt der `grep` Befehl die entsprechenden Protokollzeilen. Wenn keine Warnung gefunden wird, verwendet Ihre Anwendung entweder kein SDK for Java 1.x oder sie verwendet eine Version vor 1.12.767. Verwenden Sie in diesem Fall eine der anderen in diesem Dokument beschriebenen Methoden.

## Suchen Sie nach Quellcode und Abhängigkeiten
<a name="migration-find-v1-apps-source-code"></a>

Sie können Ihre Codebasis durchsuchen und Konfigurationsdateien nach Verweisen auf Version AWS SDK für Java 1.x erstellen. Die Schlüssel-ID ist die `com.amazonaws` Gruppen-ID, die von allen SDK for Java 1.x-Artefakten verwendet wird.

Die folgenden Beispiele zeigen, wie die Suche `grep` nach `com.amazonaws` Verweisen in gängigen Java-Projektdateien verwendet wird.

**Beispiel: Durchsuchen Sie Java-Quelldateien nach SDK for Java 1.x-Importe (vom Projektstammverzeichnis aus ausgeführt)**

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

Beispielausgabe:

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

**Anmerkung**  
Das `com.amazonaws` Paket wird auch von Bibliotheken verwendet, die nicht Teil des SDK for Java 1.x sind, wie `aws-lambda-java-core` z. Um zu bestätigen, dass ein Import aus dem SDK for Java 1.x stammt, überprüfen Sie, ob die entsprechende Artefakt-ID in Ihrer `pom.xml``build.gradle`, oder Abhängigkeitsverwaltungskonfiguration mit beginnt. `aws-java-sdk-`

**Beispiel: Suche in `pom.xml` Maven-Dateien nach SDK for Java 1.x-Abhängigkeiten (vom Projektstammverzeichnis aus ausgeführt)**

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

Beispielausgabe:

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

**Beispiel: Durchsuchen Sie Gradle-Build-Dateien nach SDK for Java 1.x-Abhängigkeiten (vom Projektstammverzeichnis aus ausgeführt)**

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

Beispielausgabe:

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

Die obigen `grep` Befehle identifizieren SDK for Java 1.x-Verweise, die direkt in Ihren Quell- und Build-Dateien deklariert sind. Ihre Anwendung kann jedoch auch transitiv vom SDK for Java 1.x abhängen — über eine Drittanbieterbibliothek, die wiederum vom SDK abhängt. Verwenden Sie den Abhängigkeitsbaum Ihres Build-Tools, um sowohl direktes als auch transitives SDK for Java 1.x-Abhängigkeiten zu finden. Wählen Sie das Beispiel, das zu Ihrem Build-System passt.

**Beispiel: Verwenden Sie Maven, um alle transitiven SDK-Abhängigkeiten für Java 1.x zu finden (vom Projektstammverzeichnis aus ausgeführt)**

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

Beispielausgabe:

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

Das `-Dincludes=com.amazonaws` Flag filtert den Baum so, dass nur SDK for Java 1.x-Artefakte angezeigt werden. In diesem Beispiel `aws-java-sdk-s3` handelt es sich um eine direkte Abhängigkeit, aber `aws-java-sdk-dynamodb` es handelt sich um eine transitive Abhängigkeit, die durch verursacht wird. `some.thirdparty:library`

**Beispiel: Verwenden Sie Gradle, um alle transitiven SDK-Abhängigkeiten für Java 1.x zu finden (vom Projektstammverzeichnis aus ausgeführt)**

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

Beispielausgabe:

```
+--- 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 hat keinen eingebauten Abhängigkeitsfilter, der dem von Maven entspricht`-Dincludes`, daher ist die Weiterleitung der einfachste Ansatz. `grep`

## Untersuchen Sie bereitstellbare Java-Artefakte
<a name="migration-find-v1-apps-inspect-artifacts"></a>

Sie können Ihre bereitstellbaren Java-Artefakte (JARs,, oder EARs) überprüfen WARs, um zu überprüfen, ob die Version AWS SDK für Java 1.x im Paket Ihrer Anwendung enthalten ist. Java-Archivdateien sind Dateien im ZIP-Format. Um festzustellen, ob SDK for Java 1.x vorhanden ist, suchen Sie `com/amazonaws/sdk/versionInfo.properties` im Archiv nach der Datei. Diese Datei ist im `aws-java-sdk-core` Modul enthalten und enthält die SDK-Versionsnummer.

### Schneller Check mit dem `jar` Befehl
<a name="migration-find-v1-apps-jar-command"></a>

Bei Uber-Jars, bei denen alle Abhängigkeitsklassen auf der obersten Ebene zusammengeführt werden, listen Sie den Archivinhalt auf und suchen Sie nach der Versionsdatei:

Ersetzen Sie in den folgenden Beispielen `myapp.jar` durch den Pfad zur JAR-Datei Ihrer Anwendung.

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

Wenn das SDK vorhanden ist, lautet die Ausgabe:

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

Wenn der `jar` Befehl in Ihrer Umgebung nicht verfügbar ist (z. B. nur JRE oder minimale Container-Images), können Sie stattdessen Folgendes verwenden`unzip -l`:

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

Um die Version zu drucken:

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

Beispielausgabe:

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

**Anmerkung**  
Die obigen Befehle suchen nur nach Einträgen der obersten Ebene in Uber-Jars. Sie werden keine SDK-Klassen in Thin-Klassen JARs (wo Abhängigkeiten extern sind) oder innerhalb verschachtelter Klassen JARs (wie die in WARs, EARs, oder Lambda-Paketen unter `lib/` oder`WEB-INF/lib/`) finden. Überprüfen Sie bei JARs Thin stattdessen Ihre Build-Konfiguration (`pom.xml`,`build.gradle`) oder Ihren Abhängigkeitsbaum. Suchen Sie nach Nested im Paket JARs mit einem Tool JARs, das ZIP-Archive rekursiv lesen kann, ohne sie auf die Festplatte zu extrahieren.

## Verwenden Sie CloudTrail Lake, um Anwendungen mit 1.x-Clients zu finden
<a name="migration-find-v1-apps-with-cloudtrail"></a>

**Wichtig**  
AWS CloudTrail Lake ist ab dem 31. Mai 2026 nicht mehr für Neukunden geöffnet. Bestehende Kunden können den Service weiterhin nutzen. Weitere Informationen finden Sie unter [Änderung der Verfügbarkeit von CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-service-availability-change.html). Einen alternativen Ansatz finden Sie unter[Verwenden Sie CloudWatch Logs Insights, um Anwendungen mit 1.x-Clients zu finden](#migration-find-v1-apps-with-cw-logs-insights).

AWS CloudTrail Mit Lake können Sie Ereignisse abfragen, die von aufgezeichnet wurden CloudTrail. Gehen Sie wie folgt vor, um einen Data Lake zu erstellen, der die von Ihren Anwendungen verwendeten SDK-Versionen identifiziert:

1. Erstellen Sie einen CloudTrail Data Lake. Informationen zum Erstellen eines Ereignisdatenspeichers finden Sie im [Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html).

1. Nachdem Sie den Datenspeicher erstellt haben, überprüfen Sie den Inhalt des Datensatzes. Der Datensatzkörper enthält Felder, die die angeforderte Aktion, den Zeitpunkt und den Ort bestimmen. Einzelheiten finden Sie im [Benutzerhandbuch für den Inhalt des CloudTrail Datensatzes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

1. Führen Sie Abfragen für Ihre Daten durch. Folgen Sie dem [Benutzerhandbuch, um Abfrageergebnisse abzufragen und zu speichern](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-run-query.html).

Das *UserAgent-Feld* in jedem Datensatz enthält die SDK-Version, die die Anfrage gestellt hat. Verwenden Sie dieses Feld, um Anwendungen zu identifizieren, die SDK for Java 1.x verwenden.

Die folgende Beispielabfrage findet alle Anfragen von Benutzeranwendungen und Tools von Drittanbietern, die ab dem 17. Juni 2025 mit SDK for Java 1.x gestellt wurden, nach einer EventDatastore ID: `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
```

Ein Beispiel für den Inhalt eines Ereignisses im Abfrageergebnis sieht wie folgt aus:

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

Anhand dieser Informationen können Sie feststellen, wann und wo die Anfrage gestellt wurde.

In dem Beispiel wurde `2025-07-01 02:23:52 (UTC)` von der IP-Adresse aus eine `ListTables` DynamoDB-Anfrage `12.345.6.78` mit den Anmeldeinformationen des IAM-Benutzers namens Alice gestellt. Der Wert des Felds *UserAgent* zeigt, dass die Anfrage mit der AWS SDK für Java Version `1.12.746` von einem Linux-System mit JDK 11 gestellt wurde.

Eine Beschreibung der Felder im AWS CloudTrail Ereignisdatensatz finden Sie unter [CloudTrail Datensatzinhalte für Verwaltungs-, Daten- und Netzwerkaktivitätsereignisse](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

Wenn CloudTrail es in Ihrem Konto nicht aktiviert ist, wenden Sie sich an den AWS Kontoadministrator Ihrer Organisation, um es zu aktivieren, oder verwenden Sie eine der in den vorherigen Abschnitten beschriebenen alternativen Methoden.

CloudTrail Lake berechnet Gebühren für die pro Abfrage aufgenommenen und gescannten Daten. Um die Kosten zu minimieren, filtern Sie Abfragen nach bestimmten Zeiträumen und Regionen. Die aktuellen Preise finden Sie unter [AWS CloudTrail -Preisinformationen](https://aws.amazon.com/cloudtrail/pricing/).