前提・実現したいこと
ユーザが画像を選択し、それをAWSのS3にアップさせる実装を行いたい。
社内からしかアクセスできない環境のため、publicになっておりaccsessKey、secretKeyなどの設定がないため、accsessKey、secretKeyを渡さない仕組みで作りたいですが調べてもaccsessKey、secretKeyを渡す仕組みしか見つからず認識のある方、ご教示いただければと思います。
画像はBase64形式で渡されてきます。
発生している問題・エラーメッセージ
com.amazonaws.AmazonClientException: Unable to calculate a request signature: Unable to calculate a request signature: Empty key
該当のソースコード
Java
1public AmazonS3 s3Client() { 2 AmazonS3 s3Client = new AmazonS3Client(new BasicAWSCredentials(asc.getAccessKey(), asc.getSecretKey())); 3 Region region = Region.getRegion(Regions.AP_NORTHEAST_1); 4 s3Client.setRegion(region); 5 s3Client.setEndpoint(asc.getEndpoint()); 6 return s3Client; 7} 8 9@Override 10public AmazonS3 s3FileUpload(String pictNm, File file) { 11 String filePath = FILE_PATH + pictNm; 12 AmazonS3 s3Client = s3Client(); 13 s3Client.putObject(new PutObjectRequest(asc.getBucket(), filePath, file)); 14 return s3Client; 15}
補足情報(FW/ツールのバージョンなど)
Java8
AWS-Java-SDK 1.4.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。