aws-sdk-java-v2 2.36.x 版本发布全解析:Kinesis 10MiB 大记录、用户代理管线调整与百余项端点规则更新
【免费下载链接】aws-sdk-java-v2The official AWS SDK for Java - Version 2项目地址: https://gitcode.com/GitHub_Trending/aw/aws-sdk-java-v2
本指南以 changelogs/2.36.x-CHANGELOG.md 为骨架,逐版本拆解 AWS SDK for Java v2 在 2.36.0~2.36.3 四个补丁版本中的全部变更,并结合 core/sdk-core 与 services 目录下的源码与模型文件,深入讲解用户代理管线调整、IAM 反序列化修复、Kinesis 新 API 等核心变化的底层实现。读完本文,你将掌握 2.36.x 的完整变更清单、关键功能的调用方式与参数约束,以及升级时的注意要点。
一、版本时间线与发布节奏
2.36.x 是 aws-sdk-java-v2 在 2025 年 10 月下旬的一轮快速迭代,三个工作日内连续发布了三个补丁版本,随后在 10 月 27 日发布 2.36.3:
| 版本 | 发布日期 | 定位 |
|---|---|---|
| 2.36.0 | 2025-10-22 | 主线发布:多个服务新功能 + 大规模端点规则集(endpoint ruleset)参数大小写规范化 |
| 2.36.1 | 2025-10-23 | 跟进发布:Lambda 运行时更新、Aurora DSQL 资源策略等 |
| 2.36.2 | 2025-10-24 | 跟进发布:SecurityHub 过滤器升级、SageMaker 模型数据缓存等 |
| 2.36.3 | 2025-10-27 | 收尾发布:SDK 核心管线调整、IAM 反序列化修复、Kinesis 大记录支持 |
其中 2.36.3 明确标注了核心 SDK(AWS SDK for Java v2条目)自身的两处行为变化,是所有升级者都应关注的版本;而贯穿四个版本的"Update endpoint ruleset parameters casing"类条目,则反映了 AWS 服务模型端点在 2025 年 10 月的一轮系统性规范化。
二、SDK 核心引擎变更深度解析
2.1 用户代理(User-Agent)组装阶段在请求管线中后移
变更内容:2.36.3 将ApplyUserAgentStage移动到请求管线的更靠后位置,以确保所有业务指标(business metrics)在最终确定 user agent 之前被正确记录。
源码依据:该阶段类位于 ApplyUserAgentStage.java,其职责是"在从执行属性(execution attributes)取回当前字符串并补充附加信息之后,为请求添加 user agent 头"。关键实现包括:
- 常量
HEADER_USER_AGENT = "User-Agent"与SDK_METRICS = "sdk-metrics"(见 ApplyUserAgentStage.java#L56-L57); execute方法会先检查"客户端级 ADDITIONAL_HTTP_HEADERS"与"请求级 headers"中是否已由用户显式设置了User-Agent,若已设置则跳过自动组装(L67-L100);finalizeUserAgent按"用户前缀 → SDK 客户端 user agent → 执行上下文附加元数据 → 业务指标 → 自定义 API 名称 → 用户后缀"的顺序拼接最终值(L117-L159);- 业务指标来源于执行属性中的
BUSINESS_METRICS(BusinessMetricCollection),并会并入apiNames中名为sdk-metrics的条目,以及所选认证方案的凭证提供方名称(L174-L205)。
管线位置变化:在同步客户端 AmazonSyncHttpClient.java#L180-L207 的请求变更管线中,ApplyUserAgentStage位于HttpChecksumStage之后、MakeRequestImmutableStage之前,随后才进入SigningStage等阶段;异步客户端 AmazonAsyncHttpClient.java#L204 采用相同的编排顺序。
为什么"后移"重要:user agent 中携带的md/*业务指标(business metrics)用于统计 SDK 是否启用了分页、S3 分段上传、DynamoDB Enhanced、等待器(waiter)、跨区域访问、S3 Transfer Manager 等特性(ApplyUserAgentStage.java#L213-L215 的注释给出了当前跟踪清单)。如果该阶段执行得过早,后续阶段(如校验和计算、认证方案解析)产生的指标将无法进入 user agent,导致指标丢失。后移后,指标收集与 user agent 定型顺序得到保证。相关行为可参考 ApplyUserAgentStageTest.java 中的测试用例。
2.2 修复 IAM GetAccountSummary 的 SummaryMap 键丢失问题
变更内容:2.36.3 修复了GetAccountSummary响应中SummaryMap键在反序列化时被过滤、导致响应缺失部分键的问题。
源码依据:在 IAM 服务模型中,GetAccountSummaryResponse是一个仅包含SummaryMap成员的结构体,其类型为summaryMapType,含义是"IAM 实体用量与 IAM 配额的信息键值对",键的格式为Namespace/PropertyName(见 services/iam/src/main/resources/codegen-resources/service-2.json#L4919-L4927)。此次修复针对的是响应反序列化过程中对未知/特殊键的过滤逻辑,修复后通过iamClient.getAccountSummary()获取的summaryMap()将完整返回所有键值对。建议使用该 API 做 IAM 用量审计的开发者升级到 2.36.3+ 并补充回归验证。
2.3 端点与分区元数据更新
2.36.1、2.36.2、2.36.0 三个版本均包含"Updated endpoint and partition metadata"条目。这类更新由 SDK 内部维护的端点解析数据(endpoints.json 等资源)驱动,通常对应服务端新增区域、调整分区映射或修正端点规则,用户无需改动代码,SDK 启动时会自动使用最新元数据完成端点解析。若你的应用依赖冷门区域或隔离区(如 ISOB/ISOE),升级后建议核对目标服务的实际请求端点是否符合预期。
三、服务能力升级亮点
以下按服务逐一列出 2.36.x 中具有实质功能内容的变更("casing" 类更新见第四节统一说明)。
3.1 Amazon Kinesis:记录上限提升至 10MiB 并新增 UpdateMaxRecordSize API
2.36.3 中 Kinesis 迎来本轮最大的一次能力升级:
- 单条记录大小上限提升至10 MiB(原为 1 MiB);
- 新增
UpdateMaxRecordSizeAPI,用于动态修改流的记录大小上限; CreateStream与DescribeStreamSummary分别新增请求/响应侧的记录大小参数。
模型依据:在 services/kinesis/src/main/resources/codegen-resources/service-2.json 中可以看到完整的参数约束:
MaxRecordSizeInKiB类型定义为整数,范围1024~10240 KiB(L2467-L2471),即 1~10 MiB;CreateStreamInput新增可选成员MaxRecordSizeInKiB(L1444-L1474),与ShardCount、StreamModeDetails、Tags、WarmThroughputMiBps并列;UpdateMaxRecordSizeInput为必填结构,包含StreamARN(要更新的流 ARN)与MaxRecordSizeInKiB(L3947-L3963);若取值超出 1024~10240 范围,服务端将返回ValidationException;- 记录数据
Data的 blob 上限同步放宽至 10485760 字节(10 MiB,L1477)。
使用示例(基于 2.36.3 生成的客户端 API):
// 创建支持 10MiB 记录的流 kinesisClient.createStream(r -> r .streamName("big-record-stream") .maxRecordSizeInKiB(10240)); // 动态调整已有流的上限 kinesisClient.updateMaxRecordSize(r -> r .streamArn("arn:aws:kinesis:us-east-1:123456789012:stream/big-record-stream") .maxRecordSizeInKiB(10240));适用场景:向 Kinesis 写入大 Payload(如 ML 推理结果、多媒体分片、大日志包)的应用。注意:10 MiB 上限对 Producer/Consumer 两侧的吞吐规划有影响,请结合 shard 数量与 WarmThroughput 一并评估。
3.2 AWS Lambda:新增 Node.js 24 运行时支持
2.36.1 为 Lambda 增加了nodejs24.x运行时支持("Add NodeJs 24 (nodejs24.x) support to AWS Lambda")。升级后,software.amazon.awssdk.services.lambda客户端生成的Runtime枚举中将包含NODEJS24_X,可通过updateFunctionCode/createFunction的runtime(Runtime.NODEJS24_X)方式为函数指定新运行时。
3.3 Amazon Route 53:支持 ISOB West 区域私有 DNS 与健康检查
2.36.0 起,Route 53 支持ISOB West 区域(隔离区域)的 VPC 私有 DNS 与 CloudWatch 健康检查。对于部署在 AWS 隔离区域(Government 类)内、依赖 Route 53 私有托管区的用户,升级后即可在 SDK 中指定该区域端点。
3.4 AWS SecurityHub:GetFindings 系列 API 的 3 层过滤器支持
2.36.2 为 SecurityHub 发布了一组查询能力升级:
GetFindingsV2、GetFindingStatisticsV2、GetResourcesV2、GetResourcesStatisticsV2、AutomationRule V2系列 API 支持3 层(三层嵌套)过滤器;GetResourcesV2、GetResourcesStatisticsV2的过滤器参数大小写被统一;GetFindingsV2、GetFindingStatisticsV2、AutomationRule V2新增更多过滤器选项。
适合需要精细化安全事件检索(按资源、威胁、合规项多层过滤)的安全运营场景。
3.5 Amazon EC2:网络接口 API 新增可用区 ID
2.36.0 为CreateNetworkInterface与DescribeNetworkInterfaces增加了AvailabilityZoneId支持。可用区 ID(如use1-az1)相对可用区名称更稳定,跨账号迁移或自动化编排时用它定位可用区可避免名称漂移问题。
3.6 AWS Elemental MediaLive:新增三个告警查询 API
2.36.0 为 MediaLive 增加了 3 个 API 操作:
ListAlerts(Channel 告警)ListClusterAlerts(MediaLive Anywhere 集群告警)ListMultiplexAlerts(Multiplex 告警)
可用于构建媒体管线告警监控面板。
3.7 AWS IAM:OIDC/SAML 变更接口的并发保护
2.36.0 起,IAM 的 OIDC 与 SAML 相关 API 会拒绝多个并发修改同一唯一对象的请求("reject multiple simultaneous requests to change a unique object")。该变更降低了并发更新身份提供方配置时产生竞态覆盖的风险;高并发自动化脚本需处理新增的冲突错误。
3.8 Amazon Connect 系列:邮箱别名与预览模式
- Amazon Connect(2.36.0):新增邮箱地址别名(email address alias)配置支持,以及外呼活动预览模式(outbound campaign preview mode);
- AmazonConnectCampaignServiceV2(2.36.0):同步支持 Preview Outbound Mode;
- AmazonConnectCampaignService(2.36.3)与其他 Connect 组件一样包含 casing 更新。
3.9 Amazon SageMaker:推理组件模型数据缓存
2.36.2 为 SageMaker 增加了inference components model data caching(推理组件模型数据缓存)特性,可减少推理组件冷启动时重复加载模型数据的开销;2.36.1 中 SageMaker 也包含一次例行更新。
3.10 Amazon DataZone:MLflow 连接创建
2.36.2 起 DataZone 支持创建MLflow connections,便于在 DataZone 中管理 MLflow 追踪服务连接,服务于 ML 资产编目与协作场景。
3.11 Amazon Aurora DSQL:资源策略与公共访问阻断
2.36.1 为 Aurora DSQL 集群增加基于资源的策略支持,可用于实现Block Public Access(BPA),限制对 DSQL 公共或 VPC 端点的访问。对安全合规要求高的团队,升级后可立即为集群配置 BPA。
3.12 其他值得关注的变更
- Amazon GameLift Streams(2.36.2):为
TERMINATED流会话增加状态原因(status reasons),便于排查会话终止根因; - Amazon Location Service(2.36.2):API 密钥支持移动应用限制(mobile app restrictions),并为 Maps V2
GetTileAPI 增加可选AdditionalFeatures参数; - AWS Device Farm(2.36.0):
CreateRemoteAccessSession支持可选地在请求中附带 app; - RTB Fabric(2.36.0):服务正式 GA(general availability);2.36.2 进一步支持自定义速率限制(custom rate limits);
- AWS Cost Explorer(2.36.3):为
eusc-de-east-1区域更新了端点; - Amazon CloudWatch Internet Monitor / Network Monitor、Amazon WorkSpaces Thin Client、Amazon S3 Tables、Amazon S3 Vectors、Amazon DynamoDB Streams等大量服务:本轮 casing 规范化更新(见下节);
- odb(2.36.1):纯文档更新,移除 ODB peering API 描述中的重复值;
- Amazon Bedrock AgentCore / AgentCore Control(2.36.1):修正服务文档名称。
四、大规模 endpoint ruleset 参数大小写规范化更新
2.36.x 中数量最多的一类条目是 "Update endpoint ruleset parameters casing"。这是服务端端点规则集(endpoint ruleset)中规则参数的大小写被规范化(通常统一为小写/驼峰标准形式)后,SDK 同步更新服务模型元数据的结果。其影响面覆盖几乎所有服务模块,但对大多数调用方是透明的——只要服务端与 SDK 双方遵循同一套规则参数约定,请求解析与端点选择行为保持一致。
涉及的服务(按版本整理):
- 2.36.3:AWS AI Ops、Backup Gateway、Control Tower、Elastic Beanstalk、End User Messaging Social、EntityResolution、Greengrass、Invoicing、Launch Wizard、Outposts、RDS DataService、Secrets Manager、Shield、SimSpace Weaver、SSO Admin、Step Functions、Systems Manager for SAP、WAF Regional、re:Post Private、Access Analyzer、Athena、Chime SDK Identity、Chime SDK Media Pipelines、CodeGuru Profiler、Cognito Identity Provider、Comprehend、DAX、EventBridge Scheduler、Forecast、Lex Runtime、Managed Blockchain、Mechanical Turk、Neptune Graph、Pinpoint、Recycle Bin、Rekognition、Route 53 Resolver、S3 Vectors、SES、WorkMail Message Flow、AmazonConnectCampaignService、Braket、CodeArtifact、Cost Optimization Hub、Data Automation for Amazon Bedrock、Redshift Serverless、Route 53 Profiles 等;
- 2.36.2:Amplify UI Builder、Billing、Budgets、ACM、Cloud Map、CloudTrail、CodePipeline、Data Pipeline、Elemental MediaPackage、Elemental MediaStore、MediaStore Data Plane、Fault Injection Simulator、IoT Wireless、Panorama、RoboMaker、SSO OIDC、Snow Device Management、Supply Chain、Chime SDK Messaging、CloudWatch Application Signals、Connect Wisdom、DocumentDB、DynamoDB Streams、EKS、Elastic VMware Service、Inspector、Kinesis Analytics、Kinesis Video Signaling Channels、Lookout for Vision、Route 53 Domains、S3 Tables、SageMaker Metrics、Translate、VPC Lattice、Verified Permissions、WorkSpaces Thin Client、AmazonMQ、Elastic Load Balancing、Managed integrations for AWS IoT Device Management、Migration Hub Strategy Recommendations、Payment Cryptography(Control/Data Plane)、PcaConnectorAd、QBusiness 等;
- 2.36.1:Account、Application Discovery、CloudTrail Data、CodeBuild、CodeStar connections、Config、Cost and Usage Report、DMS、IoT Events、IoT Jobs Data Plane、Marketplace Commerce Analytics、MediaTailor、Migration Hub、Multi-party Approval、Resilience Hub、Savings Plans、Storage Gateway、Chime SDK Voice、CloudWatch Internet Monitor、CloudWatch Network Monitor、Connect Contact Lens、DocumentDB Elastic、EBS、ECR、ECR Public、HealthLake、Kinesis Video Streams Archived Media、Kinesis Video WebRTC Storage、Macie 2、Managed Blockchain Query、NeptuneData、Omics、Personalize Events、Pinpoint Email、SageMaker Edge Manager、Security Lake、Application Auto Scaling、Application Migration、CloudWatch RUM、Elastic Disaster Recovery、OpenSearch Serverless、Private CA Connector for SCEP、Synthetics 等;
- 2.36.0:B2B Data Interchange、Billing and Cost Management Dashboards、Chatbot、CloudFormation、CloudHSM V2、Comprehend Medical、Cost Explorer、Direct Connect、Directory Service Data、EC2 Instance Connect、IoT、IoT Analytics、IoT FleetWise、IoT Secure Tunneling、IoT SiteWise、Marketplace Agreement、Parallel Computing Service、Systems Manager Incident Manager、User Notifications Contacts、Augmented AI Runtime、CloudHSM、CodeGuru Reviewer、Cognito Identity、Connect Participant、Forecast Query、IVS Chat、Kinesis Analytics、Lex Model Building V2、Pinpoint SMS Voice V2、SNS、WorkDocs、WorkMail、WorkSpaces、MWAA、AppFabric、Auto Scaling、CloudWatch Observability Access Manager、Inspector2、MailManager、Redshift Data API、Route53 Recovery Cluster 等。
升级建议:如果你自定义了端点解析逻辑、使用了私有化端点规则,或依赖某些服务的边缘区域(如 eusc/eusc-de-east-1 之类的 EU 主权区域),升级 2.36.x 后应重点回归一次端点解析行为;普通区域用户无需特殊处理。
五、升级到 2.36.x
2.36.x 系列中的实质变更(Kinesis 新 API、IAM 反序列化修复、User-Agent 管线调整)需要升级后才能获得。所有变更的历史记录可参考 changelogs/2.36.x-CHANGELOG.md 本身,更早版本见 changelogs 目录下的分版本文件,全量汇总见根目录 CHANGELOG.md。
以 Maven 为例,将 SDK 版本提升至2.36.3后重新构建即可(各服务模块 artifactId 与目录同名,如kinesis、iam、lambda,核心模块为software.amazon.awssdk:sdk-core):
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.36.3</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>kinesis</artifactId> </dependency>升级后可通过以下方式验证版本生效:构造任一客户端并打印client.serviceName(),或检查请求头中的User-Agent是否包含2.36.3;对于依赖 IAMGetAccountSummary与 Kinesis 大记录写入的业务,建议补充一次端到端冒烟测试以确认反序列化与记录大小限制符合预期。
六、小结
2.36.x 是 aws-sdk-java-v2 在 2025 年 10 月下旬的一次"高频发布 + 大范围元数据同步":一方面通过 2.36.3 完成了 SDK 核心的用户代理管线优化与 IAM 反序列化修复,并为 Kinesis 带来了 10 MiB 大记录与UpdateMaxRecordSize这一重量级新能力;另一方面以百余条 endpoint ruleset 参数大小写规范化更新覆盖了几乎所有服务模块。对开发者而言,最值得关注的是 2.36.3 中的 SDK 核心行为变化与 Kinesis API 扩展,前者影响 User-Agent 与业务指标的可观测性,后者直接打开了大 Payload 写入 Kinesis 的新的架构可能性。
【免费下载链接】aws-sdk-java-v2The official AWS SDK for Java - Version 2项目地址: https://gitcode.com/GitHub_Trending/aw/aws-sdk-java-v2
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考