提供商链未获取 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 Cognito Swift 凭证提供商“不推荐使用登录:使用 AWSIdentityProviderManager”