gpt4 book ai didi

java - 切换 AWSCredentialsProvider 的最佳方式是什么?

转载 作者:行者123 更新时间:2023-12-01 11:27:38 24 4
gpt4 key购买 nike

我正在编写一个 Java 应用程序,该应用程序使用 Spring 进行依赖项注入(inject),使用 AWS 提供各种服务。我将把应用程序部署到 EC2。我遇到的问题是在开发/部署期间以安全的方式设置AWS凭证。因为该服务在 EC2 上运行,所以我想使用 InstanceProfileCredentialsProvider在生产中。但是,这些凭据在开发过程中不可用。

目前几乎所有 AWS 客户端都是使用 Spring 注入(inject)的。以下是使用 DynamoDB 的示例:

@Lazy
@Configuration
public class SpringConfiguration {
@Bean(name = "my.dynamoDB")
public DynamoDB dynamoDB() {
return DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient(
new AWSCredentialsProvider() /* What should go here? */));

}
}

有什么想法吗?

最佳答案

尝试创建一个返回凭据提供程序的单独 bean。在该方法中,根据阶段或主机类型在两个凭据源之间切换。

/** 
* @return: an AWSCredentialsProvider appropriate for the stage.
*/
@Bean
public AWSCredentialsProvider awsCredentialsProvider() {
if(isProd() /* define what this means in your configuration code */) {
return new InstanceProfileCredentialsProvider()
} else {
return new AWSCredentialsProvider()
}
}

关于java - 切换 AWSCredentialsProvider 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com