使用预签名URL从S3存储桶下载文件的问题

时间:2020-08-26 08:03:40

标签: spring-boot amazon-s3

我想使用预签名的URL下载存储在S3存储桶中的文件。
目标-生成并单击预签名的URL时,应下载所需的文件。
应用代码-

public String generatePreSignedUrl(String dfileName) {
    Date expiration = new Date();
    long expTimeMillis = expiration.getTime();
    expTimeMillis += 1000 * 60 * 60;
    expiration.setTime(expTimeMillis);
    LOG.info("Generating Pre Signed URL For {}", dfileName);
    GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName,
                dfileName);
    generatePresignedUrlRequest.setMethod(HttpMethod.GET);
    generatePresignedUrlRequest.setExpiration(expiration);
    generatePresignedUrlRequest.setSSEAlgorithm(SSEAlgorithm.KMS.getAlgorithm());
    generatePresignedUrlRequest.setKmsCmkId(keyId);
    return conn.generatePresignedUrl(generatePresignedUrlRequest).toString();
    }

已通过变量-

dfileName - File to download from S3 bucket.
bucketName - S3 Bucket Name.
keyId - KMS Key ID (Ex: arn:aws:kms:<region>:<account>:key/<key id>

浏览器上显示错误-

<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
.......

0 个答案:

没有答案
相关问题