2016-07-25 31 views
1

S3にファイルをアップロードしようとしています。これを行うコードは次のとおりです。AWS ProfileCredentialsProviderが資格情報を取得できない

AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); 
String key = String.format(Constants.KEY_NAME + "/%s/%s", activity_id, aFile.getName()); 
s3Client.putObject(Constants.BUCKET_NAME, key, aFile.getInputStream(), new ObjectMetadata()); 

私の問題は、ProfileCredentialsProviderが自分のAWSキーにアクセスできないということです。

AWS_ACCESS_KEY=keys go here 
AWS_SECRET_KEY=keys go here 
AWS_ACCESS_KEY_ID=keys go here 
AWS_DEFAULT_REGION=us-east-1 
AWS_SECRET_ACCESS_KEY=keys go here 

そして Amazon's Documentationごとに設定した環境変数は任意のコンフィギュレーションファイルに優先します:私は、私の環境変数を設定しています。これは私に尋ねます、私の環境変数から私の鍵が奪われていないのはなぜですか?

答えて

1

ProfileCredentialsProvider()を指定すると、AWS SDKは優先順位に関係なく設定ファイルを検索します。次のようなS3クライアントを作成するだけです。

AmazonS3 s3Client = new AmazonS3Client(); 

資格情報に指定されたさまざまな場所をチェックします。

関連する問題