クラウドでホストされているSpringブートMavenアプリケーション(Pivotal Web Services)の資格情報を提供して、AmazonS3にアップロードできるようにしようとしています。ただし、次を使用して資格情報を取得しようとするたびに:
DefaultAWSCredentialsProviderChain credentialProviderChain = new DefaultAWSCredentialsProviderChain();
TransferManager transferManager = new TransferManager(credentialProviderChain.getCredentials());
それは言う
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
[Request processing failed; nested exception is com.amazonaws.AmazonClientException: Unable
to load AWS credentials from any provider in the chain] with root cause
2016-01-28T23:55:38.55+0000 [APP/0] OUT com.amazonaws.AmazonClientException:
Unable to load AWS credentials from any provider in the chain
資格情報をbeans.xmlファイルとapplication.propertiesファイルのどちらで定義する必要があるかについて少し混乱しています。しかし、私は両方を無駄にしようとしました。誰かが私を正しい方向に向けることができますか?
ドキュメントをチェックしてください! http://docs.aws.Amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html
次の順序で認証情報を検索するAWS認証情報プロバイダーチェーン:
ここにあるより一般的なドキュメント: http://docs.aws.Amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html
このアプローチはうまくいきました:
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...