amazon-web-services - Spring Cloud + RDS(spring-cloud-starter-aws-jdbc)尽管存在但无法在启动时加载凭据
问题描述
我正在使用spring-cloud-starter-aws-jdbc
连接到 RDS 实例。我最初走的是传统spring.datasource
路线,但我需要使用只读副本,并且想在不引入任何奇怪代码的情况下对其进行配置。
我得到的错误是:
Caused by: com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain: [com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@47acd13b: Failed to connect to service endpoint: , com.amazonaws.auth.profile.ProfileCredentialsProvider@6f8e9d06: profile file cannot be null]
| at com.amazonaws.auth.AWSCredentialsProviderChain.getCredentials(AWSCredentialsProviderChain.java:136)
最初我尝试AmazonRDS
在我的配置中添加一个 bean 并直接提供凭据,但这还不够好。我在里面设置了一个断点getCredentials()
,可以看到它被调用了两次:第一次有 5 个凭据提供程序,其中一个包含我通过环境变量传入的 AWS 凭据。
第二次,只有两个提供者,它们都不包含我的凭据,因此应用程序崩溃了。有没有人曾经使用过这个库并取得了成功?当我已经提供 RDS 客户端甚至尝试使用 bean 提供凭据时,我无法弄清楚为什么它会两次获取凭据。
解决方案
推荐阅读
- emacs - 重命名 ansi-term 缓冲区
- c++ - 循环队列项目输出不正确
- matlab - 我可以使用向量作为 Matlab 中 linspace 函数的边界输入吗?
- android - 如何在 lottiananimation 视图下方添加文本视图?
- elasticsearch - 如何通过查询执行批量删除?
- python - 使用适用于 Django 2.2 的渲染函数使用 Django 3.1.3 渲染视图时出现问题
- javascript - React Js:重新渲染太多。React 限制渲染次数以防止无限循环
- asynchronous - 通知 SwiftUI 父/主机视图结束 Class URLSession 任务的正确方法是什么?
- r - 创建一个简单的代码来在 R 中将我的数据集从宽转换为长
- java - Android studio中的每日日历/每周日历视图