本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 适用于 Java 的 Amazon SDK 1.x 客户端查找应用程序
在迁移到之前 Amazon SDK for Java 2.x,您需要确定您的环境中哪些应用程序使用版本 1.x 客户端。您可以在 Amazon CloudTrail 事件中查询 “UserAgent” 字段来查找这些应用程序。
使用 CloudTrail Lake 查找具有 1.x 客户端的应用程序
Amazon CloudTrail Lake 允许您查询由记录的事件 CloudTrail。按照以下步骤创建数据湖,用于识别您的应用程序使用的 SDK 版本:
-
创建 CloudTrail 数据湖。要创建事件数据存储,请参阅用户指南。
-
创建数据存储后,检查记录内容。记录正文包含用于确定请求的操作、时间和位置的字段。有关详细信息,请参阅用户指南以获取 CloudTrail 录制内容。
-
对您的数据进行查询。按照用户指南查询和保存查询结果。
每条记录中的 UserAgent 字段都包含发出请求的 SDK 版本。使用此字段来识别使用 Java SDK 版本 1.x 的应用程序。
以下示例查询将查找从 2025 年 6 月 17 日起使用 Java SDK 1.x 发出的针对某个 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.%' 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 用户的证书从 IP 12.345.6.78
地址发出 ListTables
2025-07-01
02:23:52 (UTC)
DynamoDB 请求。userAgent 字段的值显示请求是使用装有 JDK 11 1.12.746
的 Linux 系统的 适用于 Java 的 Amazon SDK 版本发出的。
有关 Amazon CloudTrail 事件记录中各字段的描述,请参阅管理、数据和网络活动事件的CloudTrail 记录内容。