GeneratePresignedUriRequest类中属性的详细解释说明
以及使用示例
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云相关的SDK中,GeneratePresignedUriRequest
类用于生成一个预签名的URI(Uniform Resource Identifier),这个URI允许有限时间内的临时访问OSS(Object Storage Service)对象,而无需直接暴露AccessKey和SecretKey。以下是该请求类中关键属性的详细解释说明及使用示例:
BucketName :
String
Key :
String
HttpMethod :
HttpMethod
(如 GET
, PUT
, HEAD
等)GET
)或上传(PUT
)。Expiration :
Date
ResponseHeaders :
Map<String, String>
Content-Disposition
)等。以下是一个Java语言的使用示例,展示如何创建并使用GeneratePresignedUriRequest
来生成一个预签名的URL,以便于上传或下载OSS中的对象:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import java.net.URL;
import java.util.Date;
public class PresignedUrlExample {
public static void main(String[] args) {
String endpoint = "<您的OSS服务端点>";
String accessKeyId = "<您的AccessKeyId>";
String accessKeySecret = "<您的AccessKeySecret>";
String bucketName = "<您的Bucket名称>";
String objectKey = "<您的对象键名>";
// 创建OSS客户端
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 生成预签名URL用于下载
GeneratePresignedUrlRequest getReq = new GeneratePresignedUrlRequest(bucketName, objectKey, HttpMethod.GET);
Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); // URL有效期1小时
getReq.setExpiration(expiration);
URL downloadUrl = ossClient.generatePresignedUrl(getReq);
System.out.println("Download URL: " + downloadUrl);
// 生成预签名URL用于上传
GeneratePresignedUrlRequest putReq = new GeneratePresignedUrlRequest(bucketName, objectKey, HttpMethod.PUT);
putReq.setExpiration(expiration);
URL uploadUrl = ossClient.generatePresignedUrl(putReq);
System.out.println("Upload URL: " + uploadUrl);
// 注意:实际使用时,需根据业务需求调整有效期、添加自定义响应头等。
} catch (Exception e) {
e.printStackTrace();
} finally {
ossClient.shutdown();
}
}
}
请根据实际需要调整上述代码中的endpoint
、accessKeyId
、accessKeySecret
、bucketName
以及objectKey
等参数,并注意处理好异常情况,确保程序的健壮性。