本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查找使用AWS SDK for Java 1.x 客户端的应用程序
在迁移到AWS SDK for Java 2.x 之前,您需要确定您环境中的哪些应用程序使用版本 1.x 客户端。您可以在 AWS CloudTrail 事件中查询“userAgent”字段来查找这些应用程序。
使用 CloudTrail Lake 查找具有 1.x 客户端的应用程序
借助 AWS CloudTrail Lake,您可以查询 CloudTrail 记录的事件。按照以下步骤来创建数据湖,用于识别应用程序使用的 SDK 版本:
-
创建 CloudTrail 数据湖。要创建事件数据存储,请参阅用户指南。
-
创建数据存储后,检查记录内容。记录正文包含用于确定请求的操作、计时和位置的字段。有关详细信息,请参阅 CloudTrail 记录内容的用户指南。
-
对您的数据运行查询。按照用户指南来查询和保存查询结果。
每条记录中的 userAgent 字段包含发出请求的 SDK 版本。使用此字段来识别使用 Java SDK 版本 1.x 的应用程序。
以下示例查询用于查找从 2025 年 6 月 17 日起,针对 EventDatastoreID sample-Data-Store-Id 使用 Java SDK 1.x 发起的所有请求:
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.%' order by eventTime desc
查询结果中的事件内容类似于以下示例:
{ "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" }
您可以使用此信息来帮助确定何时何地发出请求。
在示例中,使用名为 Alice 的 IAM 用户的凭证,在 2025-07-01
02:23:52 (UTC) 从 IP 地址 12.345.6.78 发出 DynamoDB ListTables 请求。userAgent 字段的值表明,请求是使用AWS SDK for Java 版本 1.12.746 从装有 JDK 11 的 Linux 系统发出。
有关 AWS CloudTrail 事件记录中各字段的描述,请参阅 CloudTrail 记录管理、数据和网络活动事件的内容。