AWS SDK for Java v2 2.32.x 版本系列发布说明解读:SDK 内核优化、传输层修复与服务能力全景
2026/9/18 4:29:40 网站建设 项目流程

AWS SDK for Java v2 2.32.x 版本系列发布说明解读:SDK 内核优化、传输层修复与服务能力全景

【免费下载链接】aws-sdk-java-v2The official AWS SDK for Java - Version 2项目地址: https://gitcode.com/GitHub_Trending/aw/aws-sdk-java-v2

本文基于仓库中的 2.32.x-CHANGELOG.md 整理而成,覆盖 2.32.0 至 2.32.33 共 34 个版本(2025-07-15 至 2025-08-28)。它既是一份版本升级决策指南,也是理解 AWS SDK for Java v2 平台层演进脉络(异步响应处理、传输并发控制、签名认证、代码生成等)的窗口。读完本文,你将掌握该版本系列中 SDK 核心层的全部功能与缺陷修复细节、主要服务的实质性能力更新,以及如何正确阅读和使用仓库内的 changelog 体系。

一、版本系列总览:34 个版本,一个半月的高频迭代

2.32.x 系列在约 6 周内密集发布了 34 个版本,节奏几乎与 AWS 服务的每日/每两日更新对齐。除周末外,工作日基本每天都有新版本,这与 AWS 服务端 API 的持续演进和 endpoint 元数据的频繁刷新直接相关。

版本发布日期SDK 核心亮点(AWS SDK for Java v2 / 传输客户端)
2.32.02025-07-15account-id 型 endpoint 的 URI 构造结果缓存;RequestBody#fromInputStream 重试失败错误信息改进;无自定义插件场景的插件解析性能优化
2.32.12025-07-15CRT Async HTTP Client:修复连接泄漏与提前缓冲问题
2.32.22025-07-16endpoint/partition 元数据更新
2.32.32025-07-17修复非优先 bearer 操作的 credentialType(bearer) 代码生成
2.32.42025-07-18支持从解析后的 endpoint 追踪业务指标;codegen 异常统一转为 ModelInvalidException
2.32.52025-07-21endpoint/partition 元数据更新
2.32.62025-07-22endpoint/partition 元数据更新
2.32.72025-07-23endpoint/partition 元数据更新
2.32.82025-07-24endpoint/partition 元数据更新
2.32.92025-07-25(无 SDK 核心条目)
2.32.102025-07-28endpoint/partition 元数据更新
2.32.112025-07-29CRT 版 S3AsyncClient 支持将 getObject(Path) 直接写入文件(复用 CRT response file)
2.32.122025-07-30endpoint/partition 元数据更新
2.32.132025-07-31endpoint/partition 元数据更新
2.32.142025-08-01修复 SigV4a 签名对预存 Host header 的尊重,与 SigV4 行为保持一致
2.32.152025-08-04endpoint/partition 元数据更新
2.32.162025-08-05endpoint/partition 元数据更新
2.32.172025-08-06Netty 升级到 4.1.123;Apache HTTP Client 5 替换 5.5.x 弃用 API
2.32.182025-08-07(无 SDK 核心条目)
2.32.192025-08-08endpoint/partition 元数据更新;S3 Java 多部分客户端 GetObject 重试行为修复
2.32.202025-08-11ImmutableMap Builder 新增 allowDuplicateKeys 选项
2.32.212025-08-12endpoint/partition 元数据更新
2.32.222025-08-13S3 Transfer Manager 新增 transferDirectoryMaxConcurrency 配置(社区贡献)
2.32.232025-08-14修复 preemptiveBasicAuthenticationEnabled=true 时的 407 代理认证错误
2.32.242025-08-15AsyncResponseTransformer 下载到内存时避免额外字节数组复制
2.32.252025-08-18Netty 升级到 4.1.124;多 eventstream 共享 event shape 的代码生成修复;DynamoDB Enhanced 内省 "is" 前缀字段修复
2.32.262025-08-19避免 toBytes 下载额外字节复制;修复配置 API 调用超时时的潜在 NPE
2.32.272025-08-20修复枚举序列化到字符串时的 NPE(codegen 增加 null 检查)
2.32.282025-08-21endpoint/partition 元数据更新
2.32.292025-08-22DynamoDB AttributeValue 可序列化 Builder 新增 setNull(Boolean) setter
2.32.302025-08-25endpoint/partition 元数据更新
2.32.312025-08-26endpoint/partition 元数据更新
2.32.322025-08-27ResponsePublisher / ResponseInputStream 增加响应未消费时的连接关闭超时;复制请求到 Transfer Manager 时增加 allowlist
2.32.332025-08-28(无 SDK 核心条目)

从表中可以看出,SDK 平台层在 2.32.x 期间并非静止不动:异步响应路径、S3 传输层、签名认证、代码生成、HTTP 客户端依赖均有实质改动,这些内容将在第三部分逐一深入。

二、如何阅读本仓库的 changelog 体系

在深入解读内容之前,先厘清仓库中 changelog 的组织方式,这有助于你按版本、按服务精准检索:

  • changelogs/ 目录按主版本号存放分卷发布说明,如 2.32.x-CHANGELOG.md、2.33.x-CHANGELOG.md,每个文件内部按版本倒序排列(最新版本在最上方);
  • 文件开头的提示语说明:更老版本的记录同样位于该目录下,可按需回溯;
  • 根目录的 CHANGELOG.md 是聚合入口,scripts/changelog 目录中提供了generate-changelognew-changefinalize-release-changesminor-version-bump等工具脚本,其中 model.py 定义了变更条目的数据模型(Features / Bugfixes / Documentations 的分类结构),writer.py 负责按## 服务名- ### 分类- 条目的三级缩进格式生成最终文档,这正是本文件排版结构的来源。

每个版本的条目按服务分组(如## __AWS SDK for Java v2__),组内按### Features### Bugfixes### Documentations分类,某些版本末尾还附带## __Contributors__社区贡献者致谢。掌握这个结构,你就可以在任何服务名(如 DynamoDB、S3)和任意版本号之间快速定位变更历史。

三、SDK 平台层核心变更深度解析

这一节是 2.32.x 系列对 Java 开发者最有价值的部分,逐条对应 changelog 中AWS SDK for Java v2S3 Transfer ManagerAWS CRT Async HTTP ClientApache HTTP Client 5等平台组件的条目,并结合仓库源码佐证。

3.1 异步响应路径:从额外复制到超时保护

2.32.x 对异步响应处理做了两轮打磨:

(1)减少字节数组复制(2.32.24 与 2.32.26 两次声明)

条目原文为 "Avoid extra byte array copying when downloading to memory with AsyncResponseTransformer"。对应实现位于 AsyncResponseTransformer.java,其中toBytes()toFile()是两种最常用的内存/文件落盘方式。该优化消除了下载到内存时不必要的中间字节数组拷贝,对频繁使用AsyncResponseTransformer.toBytes()接收大响应(如 S3 GetObject、Lambda Invoke 响应体)的场景可显著降低 GC 压力与峰值内存占用。

(2)响应未消费时的连接超时保护(2.32.32)

条目原文为 "Adds timeouts to ResponsePublisher and ResponseInputStream to close connection if response not consumed"。这是针对异步/流式响应"只拿元数据、不消费响应体"导致连接长期占用的经典泄漏场景的补丁:

  • ResponsePublisher.java 是异步流式响应的载体(SdkPublisher<ByteBuffer>),配合subscribe消费;
  • ResponseInputStream.java 是同步流式响应(SdkFilterInputStream)的载体,支持abort()

新增超时机制后,若调用方订阅了响应流却迟迟不消费数据,SDK 会在超时后主动关闭底层连接,防止连接池被"半死"连接占满。升级到 2.32.32 及以上的用户,如果使用流式接口,建议关注是否触发该超时(通常意味着业务侧消费过慢),这既是资源保护也是排查信号。

3.2 S3 传输层:并发上限可配置与请求复制安全

(1)transferDirectoryMaxConcurrency(2.32.22,社区贡献)

条目原文:"Extend #5031 by allowing user configuration of transferDirectoryMaxConcurrency during construction of S3TransferManager. This allows for more control of upper limits on JVM Heap memory allocation."

接口定义位于 S3TransferManager.java 的Builder

S3TransferManager tm = S3TransferManager.builder() .s3Client(s3AsyncClient) .transferDirectoryMaxConcurrency(16) // 限制目录级传输的最大并发文件数 .build();

该配置经 TransferManagerConfiguration.java 与 TransferManagerFactory.java 传入底层执行框架。核心价值在于:批量传输大量文件时,内存上限主要由并发传输的文件数决定,显式收紧该值可以直接约束 JVM 堆内存峰值,适合资源受限环境。

(2)复制请求的 allowlist(2.32.32 Bugfix)

条目原文:"Added allowlist when copying PutObjectRequest and CopyObjectRequest to transfer manager request"。此前将PutObjectRequest/CopyObjectRequest转换为 Transfer Manager 内部请求时采用"照单全收"的字段复制,2.32.32 改为白名单机制,仅复制受支持的字段,避免不兼容字段(如某些仅适用于直连客户端的设置)悄悄渗透到传输管理器请求中导致异常行为。

(3)CRT 文件直写与重试修复(2.32.11 / 2.32.19)

  • 2.32.11:CRT 版S3AsyncClientgetObject在传入Path时会直接利用 CRT 的 response file 机制写入磁盘,绕开内存缓冲,适合大文件下载;
  • 2.32.19:修复 Java 多部分客户端GetObject的错误重试行为;
  • 2.32.14:为 Java 多部分 S3 客户端的多部分上传操作补充额外校验。

3.3 签名与认证:SigV4a 行为对齐与 407 代理修复

  • SigV4a 尊重预存 Host header(2.32.14):条目原文 "Fixed SigV4a signing to respect pre-existing Host headers to be consistent with existing SigV4 signing behavior"。此前 SigV4a 签名可能覆盖调用方显式设置的 Host 头,导致自定义 endpoint 或特殊网络拓扑下签名不匹配;修复后与 SigV4 行为一致。
  • 407 代理认证修复(2.32.23):条目原文 "Fixed 407 Proxy Authentication error when preemptiveBasicAuthenticationEnabled is true"。当 Apache HTTP 客户端开启preemptiveBasicAuthenticationEnabled时,某些代理场景会错误返回 407,2.32.23 修复了该问题。
  • CRT 客户端连接与缓冲修复(2.32.1):修复 SDK 请求转 CRT 请求失败时的连接泄漏,以及 CRT 组件就绪前被过早缓冲数据的问题。

3.4 工具类与性能:allowDuplicateKeys 与插件解析优化

  • ImmutableMap.Builder.allowDuplicateKeys(2.32.20):实现位于 ImmutableMap.java。默认情况下向 Builder 放入重复 key 会抛异常;启用allowDuplicateKeys(true)后,后写入的值覆盖先前的值并输出警告日志。这在从不可控来源(如动态配置、多数据源合并)构建不可变 Map 时非常实用。
  • 插件解析性能优化(2.32.0 Bugfix):为未使用自定义 client plugin 的服务客户端优化插件解析逻辑,减少每次构建客户端的固定开销。
  • URI 构造结果缓存(2.32.0 Feature):对基于 account-id 的 endpoint(如 DynamoDB 账户级 endpoint),缓存 URI 构造结果,避免重复解析。DynamoDB 侧在同一版本同步启用了该能力。

3.5 代码生成(codegen)与 Enhanced Client

2.32.x 修复了多个由模型定义触发的代码生成问题,直接影响生成客户端的行为正确性:

  • 枚举序列化 NPE(2.32.27):序列化枚举为字符串时先做 null 检查并传递 null,而不是抛出 NPE;
  • 非优先 bearer 操作 credentialType(2.32.3):修复非优先(non-priority)bearer 操作上credentialType(bearer)的生成缺失;
  • 多 eventstream 共享 shape(2.32.25):新增duplicateAndRenameSharedEvents自定义,以支持多个事件流共享同一事件 shape 的模型;
  • ModelInvalidException(2.32.4):由错误的自定义配置或无效模型引发的 codegen 异常统一转换为ModelInvalidException,便于用户区分"配置写错"与"SDK 内部错误";
  • DynamoDB Enhanced Client 内省修复(2.32.25):修复不可变类对is前缀布尔字段的内省失败问题;
  • Enhanced Client 版本号起始值(2.32.7,社区贡献):支持版本字段从 0 开始并自定义增量;
  • AttributeValue.setNull(Boolean)(2.32.29):为AttributeValue.serializableBuilderClass()返回的可序列化 Builder 补充setNull(Boolean)setter,使{"NULL": true}形式的 JSON blob 可以成功反序列化。

3.6 依赖升级:Netty 与 Apache HttpClient 5

  • 2.32.17:Netty 升级到 4.1.123;
  • 2.32.25:Netty 升级到 4.1.124;
  • 2.32.17:Apache HTTP Client 5 模块替换 Apache HttpClient 5.5.x 中的弃用 API;
  • 2.32.0:Apache HTTP Client 5 模块以 Apache HttpClient 5.5.x 为基础发布预览版。

在仓库根 pom.xml 中,当前 Netty 版本已演进到4.1.137.Final,说明该依赖在后续版本中仍在持续跟进上游安全与性能修复。升级 SDK 时建议让 Netty 版本跟随 SDK 声明,避免混用不兼容的 Netty 小版本。

3.7 可观测性:从 endpoint 追踪业务指标

2.32.4 为 SDK 增加"从已解析 endpoint 追踪业务指标"的能力,与仓库中 metrics-spi、metric-publishers(如 cloudwatch-metric-publisher)这套指标发布体系配合,用户可以在自定义指标发布器中感知 endpoint 解析结果(如分区、account-id 型 endpoint 命中情况),便于构建精细化观测面板。

四、服务级更新亮点:实质性能力变化盘点

2.32.x 系列覆盖数百个 AWS 服务模块(仓库 services/ 目录下每个服务一个子模块)。大量条目的内容仅为 "Remove incorrect endpoint tests"(见第五部分),这里只归纳带具体功能描述的实质性更新,按领域分类呈现:

4.1 AI 与机器学习

  • Amazon Bedrock Guardrails Automated Reasoning(2.32.16):引入自动化推理检查,新增策略构建、精炼、版本管理与测试相关 API,Guardrail API 支持自动化推理策略配置与校验输出;ApplyGuardrail API 支持自动化推理检查输出模型;
  • Amazon Bedrock CountTokens API(2.32.27):Bedrock Runtime 上线 token 计数 API;
  • Amazon Bedrock on-demand 自定义模型推理(2.32.2):通过 CustomModelDeployment APIs 支持按需自定义模型推理;
  • Amazon Bedrock AgentCore(2.32.2):Bedrock AgentCore SDK 初始发布(Runtime、内置工具、Memory、Gateway、Identity);
  • Amazon Bedrock Agents 保存进行中的 Flow(2.32.24):节点配置未完成、Flow 尚不可调用时也能保存;
  • Amazon Q Business GetDocumentContent(2.32.30):支持以 JSON 格式获取抽取的文本内容;2.32.17 中该 API 支持通过可点击引用链接安全访问源文档;
  • Amazon SageMaker:2.32.0 新增 Restricted 实例组用于 HyperPod 上运行 Nova 定制任务、pipeline 版本化;2.32.2 HyperPod compute quota(GPU/Trainium/vCPU);2.32.5 S3FileSystem、私有 Workforce IpAddressType、p4de 训练计划;2.32.13 引入 GB200 UltraServers 支持;2.32.15 HyperPod 连续扩缩容、自定义 AMI 与新 API(ListClusterEvents、DescribeClusterEvent、BatchAddClusterNodes)、EBS 卷挂载/卸载;2.32.25 AL2023 Notebook、P6-B200、Rootless Docker;2.32.26 HyperPod 客户管理密钥卷加密;2.32.27 训练/训练计划中的 ml.p5.4xlarge、S3Uri 必填;2.32.29 AutoScaling on HyperPod;
  • Amazon CodeGuru Security(2.32.30):文档通知服务停用;
  • Amazon Polly(2.32.26):新增 Opus 输出格式;
  • Amazon Transcribe HealthScribe(2.32.21):支持通过 MedicalScribeContext 指定患者偏好代词;
  • Amazon QuickSight(2.32.20):HeatMapConfiguration 新增 RowAxisDisplayOptions/ColumnAxisDisplayOptions、PluginVisual Actions、CalculatedFields 上限提升;2.32.13 新增 Impala 连接器;2.32.0 topics 自定义指令。

4.2 计算、存储与网络

  • Amazon EC2:2.32.0 EBS 卷初始化状态监控、Instance Connect Endpoint IPv6;2.32.5 C8gn/F2/P6e-GB200 实例类型;2.32.7 skip-os-shutdown 选项;2.32.9 Transit Gateway 原生集成 Network Firewall;2.32.13 force terminate 选项;2.32.14 展示 VPC Route Server 传播路由的下一跳 IP;2.32.20 AvailabilityZoneId 支持;2.32.23 ModifyInstanceConnectEndpoint 与双栈 DNS;2.32.25 标记 Elastic Inference/Graphics 参数弃用;2.32.26 "warning" 卷状态;2.32.31 查看共享 AMI 使用情况的新 API;2.32.33 Local Zones 间复制 EBS 快照与 AMI;2.32.30 Client VPN IPv6;2.32.3 Free Tier Version2;
  • Amazon EKS:2.32.27 Add-ons 自定义命名空间;2.32.16 集群删除保护;2.32.32 按需刷新集群洞察;
  • Amazon ECS(2.32.0):原生 blue/green 部署,验证新服务修订后再切生产流量;2.32.1 移除 hookDetails;
  • Amazon S3(2.32.0):S3 Metadata live inventory 表提供对象可查询清单,支持 journal 表记录过期保留期;2.32.0 S3 Vectors 向量存储发布;2.32.25 S3 Control Batch Operations 支持在云端直接计算对象 checksum;2.32.30 为批量上传/多部分下载补充校验与重试修复;2.32.30 增加 Java 多部分客户端下载到 byte 数组的重试支持;
  • Amazon S3 Tables(2.32.0):ListTableBucket / GetTableBucket 增加 table bucket 类型;
  • Amazon CloudFront:2.32.18 新增 TLSv1.3_2025 viewer 安全策略;2.32.12 新增 ResponseCompletionTimeout 与 OriginReadTimeout;2.32.5 双栈 endpoint;
  • Amazon FSx:2.32.22 OpenZFS 双栈;2.32.23 ONTAP 2 代文件系统支持 SSD 容量缩减;
  • Amazon Route 53 Domains / Lightsail(2.32.14):Lightsail 新增亚太(雅加达)ap-southeast-3 区域。

4.3 数据、分析与数据库

  • Amazon DynamoDB:2.32.23 CloudWatch Contributor Insights 节流键模式、数据面 API 节流原因、显式建模 ThrottlingException;2.32.0 account-id 型 endpoint URI 缓存;2.32.29 setNull 修复(见 3.5);
  • AWS Glue:2.32.13 大版本:Route 节点、S3 Iceberg 源/目标、catalog Iceberg 源、DynamoDB ELT 连接器、AutoDataQuality 评估、增强 PII 检测与脱敏、Kinesis fan-out、R 系列 worker;2.32.23 Trusted Identity Propagation;2.32.24 Zero ETL 按需快照加载;2.32.2 Iceberg 表 schema/分区/sort 管理;2.32.7 动态会话策略;2.32.18 Data Catalog 级 Iceberg 优化设置;2.32.28 DataQualityGlueTable 预处理查询;2.32.33 GetDatabases 支持 AttributesToGet 获取 TargetDatabase;
  • Amazon OpenSearch Service / Serverless:2.32.0 S3 向量引擎选项;2.32.13 NEO-SAML 细粒度访问控制;2.32.17 Serverless 增加 Index APIs 支持托管语义增强;
  • Amazon Neptune Analytics(2.32.32):新增 StartGraph / StopGraph 操作;
  • Amazon Kinesis Analytics(2.32.27):Flink 应用数据支持 KMS 客户托管密钥加密;
  • Amazon Timestream for InfluxDB:2.32.30 新增 db.influx.24xlarge 实例类型;2.32.29 DbInstance/DbCluster 增加 MAINTENANCE 状态;
  • Amazon DataZone:2.32.30 资产分类(受限术语)与项目 "Moving" 状态;2.32.8 搜索结果相关文本高亮与属性聚合计数;2.32.27 云形成集成的策略授权标识;2.32.22 account pools 与项目 profile 解耦;2.32.0 移除环境 profile 标识必填限制;
  • Amazon HealthLake(2.32.33):StartFHIRImportJob 增加 ValidationLevel 参数;
  • Amazon Directory Service(2.32.12):Managed Microsoft AD Hybrid Edition,新增 StartADAssessment、CreateHybridAD 等 7 个操作;2.32.32 CA AutoEnrollment 策略 API;
  • Amazon Keyspaces(2.32.9):streams 文档更新;
  • Amazon Omics(2.32.33):ECR pull through cache 支持;2.32.8 Git 集成与 README 支持。

4.4 消息、集成与可观测性

  • Amazon SNS(2.32.14):支持 SQS fair queues;
  • Amazon SQS(2.32.30):大消息负载(Large Payload Message)文档更新;
  • Amazon EventBridge(2.32.0):Event Bus 客户可见日志;
  • AWS Step Functions(2.32.3):输入参数与控制字符集文档澄清;
  • Amazon Connect:2.32.33 GetCurrentMetricData 的 AgentStatusDrillDown(AGENT_STATUS 过滤与分组);2.32.19 GetContactMetrics API;2.32.25 多用户 in-app/web/video 通话;
  • Amazon CloudWatch Logs(2.32.4):GetLogObject API 流式读取日志、METRIC_EXTRACTION_POLICY 账户策略类型;2.32.2 日志组级资源策略;
  • Amazon CloudWatch Observability Admin(2.32.14):telemetry rules 管理 VPC Flow Logs 等资源的遥测开关;
  • AWS Organizations(2.32.21):新增 ListAccountsWithInvalidEffectivePolicy 与 ListEffectivePolicyValidationErrors;
  • AWS Budgets(2.32.17):billing views 支持跨账户共享成本数据;
  • AWS Billing and Cost Management Dashboards(2.32.25):成本/用量可视化仪表板创建、管理与共享,支持标签;
  • AWS re:Post Private(2.32.0):Channels 功能(CreateChannel/GetChannel/ListChannel/UpdateChannel);
  • Amazon Prometheus(2.32.24):Resource-based Policy APIs;
  • Amazon GuardDuty(2.32.28):移除 email 字段的 Pattern trait;2.32.23 entity lists 支持;
  • Amazon CodeBuild:2.32.18 基于评论的 PR 控制;2.32.21 PullRequestBuildPolicy。

4.5 安全、身份与合规

  • Amazon Cognito Identity Provider:2.32.27 Managed Login 注册页支持服务条款/隐私政策展示;2.32.20 GetTokensFromRefreshToken 移除 SigV4 认证要求;
  • AWS IoT(2.32.13):支持自带 KMS key 做数据保护;
  • AWS WAF / WAFV2:2.32.29 验证并安全发布;
  • AWS Audit Manager(2.32.4):RegisterOrganizationAdminAccount 的 TooManyExceptions 正确映射为 HTTP 429;
  • AWS Certificate Manager Private CA(2.32.14):GetCertificate 文档补充;
  • AWS Payment Cryptography(2.32.2):MAC 生成/校验消息数据字段长度扩展到 8192 字符;
  • AWS Signer / Secrets Manager / SecurityHub:以 endpoint 测试清理和文档更新为主。

4.6 开发者工具与平台服务

  • Amazon Lambda(2.32.6):模型迁移到 Smithy(功能不变);2.32.20 响应流式调用最大 payload 更新为 200 MB 的文档说明;
  • AWS CodeConnections(2.32.15):新增 Azure DevOps provider 类型;
  • AWS Direct Connect(2.32.23):5 个 Describe API 分页支持、BGP peer 的 asnLong 大范围支持;2.32.10 Interconnects 支持 MACSec;
  • AWS Cloud Map(2.32.23):通过 ARN 重载 Id 参数支持跨账户;
  • AWS Batch:2.32.18 ARM64 + Fargate Spot;2.32.25 instanceTypes 新增 default_x86_64 / default_arm64;2.32.32 ECS_AL2023_NVIDIA imageType;2.32.11 SageMaker Training jobs 队列化支持(SubmitServiceJob、CreateServiceEnvironment);
  • Amazon GameLift Streams(2.32.18):新增 Proton 9.0-2 运行时环境;2.32.28 支持随时更改 stream group 默认应用。

五、"Remove incorrect endpoint tests"批量清理意味着什么

2.32.x 系列中最醒目的特征是大量服务模块同时出现同一条目:"Remove incorrect endpoint tests"(部分版本写作 "Removed incorrect endpoint tests")。据统计,在 2.32.33、2.32.32、2.32.31、2.32.30、2.32.28、2.32.27、2.32.19 等版本中,单版本就有数十个服务同时清理此类测试。

其本质是端点到服务映射(endpoint resolution)测试资产的纠错:AWS 服务端在更新 endpoint 规则集时,发现部分 SDK 测试用例中固化了错误的 endpoint 预期(如错误的区域映射、已废弃的 endpoint 模式),于是批量移除这些不正确的测试,避免它们对用户产生误导,也为后续 endpoint 规则变更扫清障碍。对使用 SDK 的开发者而言,这类条目不改变任何运行时行为,仅表示生成客户端的测试套件更准确了。同时,SDK 核心几乎在每个版本都同步更新 "endpoint and partition metadata",两者是同一件事的两个侧面:服务端 endpoint 规则的变更最终都会落到 core/regions 的元数据与各服务生成的 endpoint 解析器中。

六、Bugfix 专题:升级时值得重点验证的修复点

汇总 2.32.x 平台层与主要服务的关键缺陷修复,作为回归测试清单:

版本组件修复内容
2.32.1CRT Async HTTP Client请求转换失败时的连接泄漏;CRT 组件就绪前的过早数据缓冲
2.32.0SDK 核心RequestBody#fromInputStream 因流不支持 mark/reset 而重试失败时给出更清晰的错误信息
2.32.14S3 Java 多部分客户端多部分上传操作补充校验
2.32.19S3 Java 多部分客户端GetObject 不正确的重试行为
2.32.23SDK 核心preemptiveBasicAuthenticationEnabled=true 时的 407 代理认证错误
2.32.24S3 Transfer ManagerCRT 客户端上传时的进度上报 bug
2.32.25SDK 核心多 eventstream 共享 event shape 的代码生成;DynamoDB Enhanced 不可变类 "is" 前缀字段内省失败
2.32.26SDK 核心配置 API 调用超时时可能抛出的 NPE
2.32.27SDK 核心枚举序列化到字符串时的 NPE
2.32.32SDK 核心复制 PutObjectRequest/CopyObjectRequest 到传输管理器请求时增加 allowlist
2.32.29DynamoDBAttributeValue 可序列化 Builder 的 setNull(Boolean) 缺失

其中 2.32.26 的 NPE 修复对"配置了 API 调用超时(apiCallTimeout)"的用户尤为重要,建议此类用户尽快升级。

七、社区贡献:来自外部开发者的支持

2.32.x 系列多次向外部贡献者致谢,体现了项目的开放协作模式:

  • 2.32.22:[@AndreKurait] 贡献 S3 Transfer Manager 的transferDirectoryMaxConcurrency配置支持;
  • 2.32.7:[@akiesler] 贡献 DynamoDB Enhanced Client 版本号从 0 起始且增量可配置的特性。

这些特性在仓库对应模块(services-custom/s3-transfer-manager、services-custom/dynamodb-enhanced)中均可找到实现,说明外部贡献已深度融入 SDK 平台能力。

八、升级与实践建议

基于 2.32.x 系列的变更内容,给出如下可操作的升级建议:

  1. 响应流消费检查:升级到 2.32.32+ 后,确认业务侧对ResponsePublisher/ResponseInputStream的消费速度,避免触发新增的连接关闭超时;
  2. 大对象内存优化:若使用AsyncResponseTransformer.toBytes()下载大对象,升级到 2.32.24+ 可受益于字节复制减少;
  3. 代理环境用户:开启preemptiveBasicAuthenticationEnabled时若曾遇到 407,务必包含 2.32.23 修复;
  4. 签名兼容性:使用自定义 Host header 且走 SigV4a 签名的场景,验证 2.32.14 修复后的签名结果;
  5. 传输并发控制:批量上传/下载目录且内存敏感的应用,利用 2.32.22 引入的transferDirectoryMaxConcurrency收紧并发;
  6. 依赖对齐:SDK 升级时同步采用其声明的 Netty 版本(当前仓库根 pom.xml 为 4.1.137.Final),避免与手写依赖产生冲突;
  7. Enhanced Client 使用者:关注 2.32.7(版本从 0 开始)、2.32.25("is" 前缀字段内省)、2.32.29(setNull)三处修复,涉及版本乐观锁与 JSON 反序列化场景应做回归。

如需查看其他主版本系列的变更,可继续浏览 changelogs/ 目录下的对应分卷文件,或通过根目录 CHANGELOG.md 聚合入口检索;仓库的发布流程脚本位于 scripts/changelog,可供需要定制 changelog 生成流程的团队参考。

【免费下载链接】aws-sdk-java-v2The official AWS SDK for Java - Version 2项目地址: https://gitcode.com/GitHub_Trending/aw/aws-sdk-java-v2

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询