宣布 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 提供了方便的 API 用于向 SNS 发送通知
  • SnsSmsTemplate 提供了方便的 API 用于向电话号码发送短信(SMS)

Secrets Manager

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

参数存储

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

DynamoDB

  • DynamoDbTemplate 高级 API 用于使用 DynamoDB,构建在 DynamoDB Enhanced Client 之上
  • AWS DAX(DynamoDB 加速器)的自动配置

参数存储

  • 现在只能使用 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 社区中所有即将举行的活动。

查看全部