提供商链未获取 AWS 凭证文件

Posted

技术标签:

【中文标题】提供商链未获取 AWS 凭证文件【英文标题】:AWS Credentials file not getting picked up by the Provider Chain 【发布时间】:2014-12-08 10:56:18 【问题描述】:

我在设置 aws 凭据时遇到问题。我在 MacOSX 和 CentOS 6.3 上遇到了同样的问题。我希望将凭据保留在 ~/.aws/credentials 文件中,如 http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-setup.html#java-dg-install-sdk 中所述,但在将凭据以

的形式放置之后
[default]
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key

我得到了这个异常

Exception in thread "main" com.amazonaws.AmazonClientException: Unable to load AWS credentials from any provider in the chain
    at com.amazonaws.auth.AWSCredentialsProviderChain.getCredentials(AWSCredentialsProviderChain.java:77)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2853)

我用来设置我的 s3Client 的 java 代码如下:

s3Client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain());

即使手动设置凭据文件路径后,它也不起作用:

export AWS_CREDENTIAL_FILE=/home/myuser/.aws/credentials

任何想法为什么这不起作用?

谢谢!

【问题讨论】:

【参考方案1】:

原来我的 pom 文件中有一个旧版本的 aws java sdk,但我忘记更新了。效果很好,因为我将它更新到了最新版本。

【讨论】:

我也遇到了同样的问题,你能告诉我我应该把java SDk版本放在哪里吗 @Awadesh 我只会使用来自亚马逊的最新 aws sdk。看起来现在是 1.11.264。如果您使用 Maven,请将其作为依赖项放入您的 Maven pom 中。 @creftos 非常感谢,我会试试这个

以上是关于提供商链未获取 AWS 凭证文件的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 S3 加载模型时,无法从链中的任何提供商加载 AWS 凭证 - 错误

Terraform:传递 AWS 系统管理器参数存储变量时,Terraform AWS 提供商凭证无效

AWS 无法验证提供的访问凭证

AWS Cognito Swift 凭证提供商“不推荐使用登录:使用 AWSIdentityProviderManager”

无法从 Spring Cloud Stream Kinesis binder 链中的任何提供商加载 AWS 凭证

我可以通过挂载目录向 sbt-native-packager 构建的本地 Docker 容器提供 AWS 凭证吗