宣布 Spring Cloud AWS 3.0.0

发布 | Spencer Gibb | 2023 年 5 月 2 日 | ...

这是来自 Spring Cloud AWS 维护者的客座文章。

Spring Cloud AWS 3.0.0

Spring Cloud AWS 3.0 是 Spring Cloud AWS 项目的最新发布。此版本代表了使用 AWS SDK v2 for Java 对库进行的完全重写。由于这需要进行重大重构,我们借此机会重新审视了所有的假设和集成模块。因此,我们创建了一个轻量级、灵活、更少麻烦且提供易于使用的抽象的库。

Spring Cloud AWS 3.0 在开发时考虑了以下原则:

  • Spring Boot “原生”开发体验 - 合理的默认值,高度可定制
  • 最小的启动时间开销
  • 集成模块相互独立
  • Kotlin 友好(@Nullable 注解)
  • 将测试作为一等公民 - Spring Cloud AWS 在其自身测试中使用 Localstack,并且我们使该库易于与 Localstack 一起使用。

发布的一些主要功能

  • 兼容 Spring Boot 3.0
  • 基于 AWS SDK V2 for Java 构建
  • 完全重写的 SQS 集成模块
  • 新的 DynamoDB 集成

文档

我们强烈建议阅读 Spring Cloud AWS 参考文档以了解更多信息。

此外,您可以在 Spring Cloud AWS GitHub 仓库 中探索多个集成模块的示例应用程序。

更改

下方是每个集成模块更改的高级列表

核心

  • 简化的凭证、区域和 AWS 客户端配置和定制
  • 移除了 XML 配置支持和 @EnableXXX 注解
  • 引入了 STS 凭证支持
  • 通过可空性注解改进了 Kotlin 的支持

SQS

  • 基于久经考验的 Spring Kafka 架构完全重写
  • 异步监听器
  • 批量监听器
  • FIFO 队列支持

S3

在 S3 中,我们引入了一些有趣的新功能,例如:

  • S3 对象元数据支持
  • S3Template:用于上传和下载文件,以及将 Java 对象持久化到 S3 的便捷方法
  • 跨区域 S3 客户端
  • 自动内容类型解析(支持 817 种内容类型)
  • 创建 S3 签名 URL
  • 创建和删除存储桶
  • 多个 S3 OutputStream 实现
    • InMemoryBufferingS3OutputStream
    • DiskBufferingS3OutputStream
    • TransferManagerS3OutputStream

SNS

  • SnsTemplateSnsOperations 提供了向 SNS 发送通知的便捷 API。
  • SnsSmsTemplate 提供了向电话号码发送短信的便捷 API。

Secrets Manager

  • 现在只能使用 spring.config.import 加载 secrets。
  • 支持 JSON、纯文本和二进制 secrets。
  • 支持自动重新加载 secrets。
  • Secrets Manager 属性源现在支持自定义前缀。

Parameter Store

  • 现在只能使用 spring.config.import 加载 secrets。
  • 支持自动重新加载属性。

DynamoDB

  • DynamoDbTemplate 是基于 DynamoDB Enhanced Client 的高层 API,用于使用 DynamoDB。
  • AWS DAX (DynamoDB Accelerator) 的自动配置。

Parameter Store

  • 现在只能使用 spring.config.import=aws-parameterstore. 加载属性。
  • 引入了自动重载支持。
  • 简化了自定义 SsmClient 的使用。

CloudWatch

  • micrometer-registry-cloudwatch2 的自动配置。

缺失的集成

Spring Cloud AWS 3.0 不包括对 RDS、ElastiCache、EC2 和 CloudFormation 的集成。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有