amazon-web-services - 运行测试时 EnvironmentVariableCredentialsProvider 不在提供程序中
问题描述
我有使用 AWS Kinesis 和 DynamoDB 的 Spring Boot 应用程序。当我运行应用程序时,我可以看到 AWSCredentialsProviderChain 提供了 EnvironmentVariableCredentialsProvider 以从环境变量中读取AWS_ACCESS_KEY_ID和AWS_ACCESS_KEY 。
但是当我运行集成测试时,EnvironmentVariableCredentialsProvider不在 AWSCredentialsProvider(s) 中。这是我的基本测试类配置:
@ActiveProfiles("integration")
@SpringBootTest
class BaseTest {
}
@SpringBootTest 将 @SpringBootApplication 作为主要配置类,我假设两者都应该具有相同的配置上下文。
我感谢您的帮助。
谢谢
解决方案
好吧,在我的测试中,我使用 spring-cloud-stream-binder-kinesis 来产生事件。当我删除它并用弹簧集成生产者替换它时,问题解决了。
将用于 kinesis 的 spring cloud binder 和 spring 集成结合在一起非常棘手,对我来说几乎没有问题。在您的应用程序中同时使用这两种方法时要小心。
推荐阅读
- javascript - 有没有一种方法可以让使用 Web 技术更轻松、更快速地加载视频和音频?
- xamarin.forms - 为什么在android平台上调用netstandard而不是android
- r - 为什么我的 ggplot 显示平线?如何按顺序显示每个月的箱线图?
- r - 从 R 中的中心点绘制一系列单元格
- wordpress - 如何让 WordPress 在 Google Cloud Platform 上运行更安全?
- c++ - 连接到使用托管服务帐户运行的 SQL 服务器
- reactjs - 如何避免“任何”并在打字稿代码中提供正确的类型?
- c - 如果有 1 个生产者和许多消费者缓冲区大小为 1,生产者消费者问题将如何解决
- javascript - 数组中的for循环
- flutter - 是否有用于颤振的 quill delta 格式到 html 转换器?