【发布时间】:2020-07-12 22:21:22
【问题描述】:
我需要在本地运行基于 Spring Boot 的应用程序。它使用 spring-cloud-starter-aws 依赖项。
问题是它总是尝试连接到 EC2 元数据服务。设置“cloud.aws.*”属性没有帮助。
我希望将使用默认 AWS 凭证链,将从 AWS 首选方式之一(例如 ~/.aws/config 和 ~/.aws/credentials 文件)读取凭证和区域。
我尝试设置 cloud.aws.credentials.useDefaultAwsCredentialsChain 属性,但 spring-cloud-starter-aws 不在乎
我发现 examples 出于非常奇怪的原因使用 CloudFormation 堆栈在本地运行应用程序。
当我使用 AWS SDK for Java 时,默认使用 AWS 链没有任何问题 - 我不需要为应用程序的本地运行执行任何特定操作(在本地它从文件中读取凭证,在 EC2 上它使用实例元数据服务) .但是使用 Spring Boot 它不能开箱即用,我需要以某种方式启用本地运行。
我使用 2.2.2.RELEASE 版本的 Spring Boot 和 2.2.1.RELEASE 版本的 Spring Cloud。我感觉他们引入了回归,因为在以前的版本中它没有问题。
任何想法如何在本地运行应用程序?
【问题讨论】:
标签: java amazon-web-services spring-boot spring-cloud