Spring boot 2.4 - 必须在构建器或设置环境中提供显式区域以提供区域

问题描述

我正在使用 Spring Boot 2.4.5 和 Spring Cloud 2.3.1 并参考这些文档在我的 Spring Boot 项目中实现 S3 服务 - spring blogspring cloud documentation

我的配置如下图。

pom.xml

----------------------------------
<dependency>
  <groupId>io.awspring.cloud</groupId>
  <artifactId>spring-cloud-aws-autoconfigure</artifactId>
  <version>2.3.1</version>
</dependency>
<dependency>
  <groupId>io.awspring.cloud</groupId>
  <artifactId>spring-cloud-aws-context</artifactId>
  <version>2.3.1</version>
</dependency>
----------------------------------
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.awspring.cloud</groupId>
            <artifactId>spring-cloud-aws-dependencies</artifactId>
            <version>2.3.1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

application.yml

cloud:
  aws:
    credentials:
      access-key: <access-key>
      secret-key: <secret-key>
    region:
      static: us-east-2
    s3:
      region: us-east-2

Bean config - 想知道为什么我必须创建这个 bean,因为 Spring boot 应该已经这样做了。但如果没有这个,它会说“没有这样的豆子”。

@Bean
public AmazonS3 amazonS3() {
    return AmazonS3ClientBuilder.defaultClient();
}

在运行应用程序时,收到此错误。可能是什么问题?请注意,我的系统中可能有一些 aws 配置,但我相信它会被 application.yml 值覆盖。我什至删除~/.aws 文件夹并再次尝试,但没有成功。

创建名为“amazonS3”的 bean 时出错。必须提供明确的 构建器或设置环境中的区域以提供区域

在很多博客中都发现了这个问题,但所有内容都指向 Java AWS SDK 并且他们都说要配置 ~/.aws 值,我不想这样做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)