Java8 と aws-java-sdk 1.10.43 を使用して、S3 ファイルへの署名付き URL を取得しようとしています。リンクは返されますが、参照すると次のエラーが発生します。
指定した認証メカニズムはサポートされていません。AWS4-HMAC-SHA256 を使用してください
強調しておきたいのは、Java コードを使用してその URL から読み取るのではなく、電子メールで送信してブラウザーで開くことができる URL を生成することです。
私は次のコードを使用していますが、「v4」を使用するように setSSEAlgorithm を設定する必要があることがわかったと思いますが、うまくいきませんでした。私は何が欠けていますか?何を設定すればよいですか(注:意図的に設定ファイルを避けています。コードが環境変数からすべての属性を設定することを望みます)
Date expiration = <some date>;
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, targetPath);
generatePresignedUrlRequest.setMethod(HttpMethod.GET);
generatePresignedUrlRequest.setExpiration(expiration);
AmazonS3 s3client = new AmazonS3Client(s3Credentials);
URL s = s3client.generatePresignedUrl(generatePresignedUrlRequest);
バケットは eu-central-1 にあります
ありがとうございました