使用 适用于 Java 的 Amazon SDK 1.x 客户端查找应用程序 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 适用于 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 版本:

  1. 创建 CloudTrail 数据湖。要创建事件数据存储,请参阅用户指南

  2. 创建数据存储后,检查记录内容。记录正文包含用于确定请求的操作、时间和位置的字段。有关详细信息,请参阅用户指南以获取 CloudTrail 录制内容

  3. 对您的数据进行查询。按照用户指南查询和保存查询结果

每条记录中的 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 记录内容