gpt4 book ai didi

Java amazonS3.generatePresignedUrl - 如何配置 https ://s3. amazonaws.com/mycompany 而不是 https ://mycompany. s3.amazonaws.com/com.mycompany

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:34 25 4
gpt4 key购买 nike

我们使用预签名的 s3 url 来提供对存储在 s3 中的图像的网络访问。

我们用来生成预签名 url 的 java 代码类似于下面

String accessKey = ...;
String secretKey = ...;
String region = ...;
com.amazonaws.HttpMethod awsHttpMethod = ...;
String bucketName = ...;
String objectKey = ...;
Date expirationDate = ...;

BasicAWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).withRegion(region).build();
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, objectKey);
generatePresignedUrlRequest.setMethod(awsHttpMethod);
generatePresignedUrlRequest.setExpiration(expirationDate);
URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest);

代码生成的 url 看起来类似于

https://com.mycompany.personalpictures.s3.amazonaws.com/picture123.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170623T150540Z&X-Amz-SignedHeaders=host&X-Amz-Expires=59&X-Amz-Credential=AKIAIVLB4ANK6B45G3IA%2F20170623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=d25d407ee8efa76f339388ec93579a19be8eaead9663d6d378cf2ec6d9d9cac2

但是,由于我们的存储桶命名标准包含点,因此调用上述 URL 会导致 SSL:没有替代证书主题名称与目标主机名“com.mycompany.personalpictures.s3.amazonaws.com”相匹配 错误

我读入了this post根本原因是存储桶名称中的点以及使用 https://s3.amazonaws.com/com.mycompany.personalpictures/picture123.png应该绕过这个问题。

如何使用 url 格式生成预签名 url https://s3.amazonaws.com/mybucket/myfile

最佳答案

想通了...

创建 s3 客户端时需要使用 .enablePathStyleAccess()。现在的代码行是

AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).withRegion(region).enablePathStyleAccess().build();

关于Java amazonS3.generatePresignedUrl - 如何配置 https ://s3. amazonaws.com/mycompany 而不是 https ://mycompany. s3.amazonaws.com/com.mycompany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44725266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com