我在设置 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
知道为什么这不起作用吗?
谢谢!
最佳答案
原来我的 pom 文件中有一个旧版本的 aws java sdk,我忘记更新了。效果很好,因为我已将其更新到最新版本。
关于java - 提供商链未获取 AWS 凭证文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26347406/