我在设置aws凭据时遇到问题。我在MacOSX和CentOS 6.3上遇到了同样的问题。我希望将凭据保存在http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-setup.html#java-dg-install-sdk中提到的〜/ .aws / credentials文件中,但是在以
的形式提交凭证之后[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
为什么这不起作用?
谢谢!
答案 0 :(得分:5)
原来我在我的pom文件中有一个旧版本的aws java sdk,我忘了更新。自从我将其更新到最新版本以来效果很好。