对象访问 URL

最近更新时间:2024-08-14 14:20:21

我的收藏

简介

本文介绍对象存储 COS 通过 Java SDK 实现生成对象访问 URL 的示例代码和描述。

注意事项

如果您的文件是私有读权限,那么本接口生成的 URL 不能直接用于访问资源。
此接口是单纯的客户端逻辑,因此不需要特殊授权。
2024年1月1日后创建的桶 不支持使用默认域名在浏览器预览文件,建议您配置自定义域名,详情请参见 存储桶切换自定义域名

相关示例

功能名称
描述
示例代码
对象访问 URL
实现生成对象访问 URL 的功能

前期准备

创建 COSClient

调用 COS 的接口之前,必须先创建一个 COSClient 的实例。
说明:
由于生成对象访问 URL不需要与COS服务端交互,因此生成 COSClient 实例时,不需要传入密钥信息。
// 创建 COSClient 实例,这个实例用来后续调用请求
COSClient createCOSClient() {
// 不需要验证身份信息
COSCredentials cred = new AnonymousCOSCredentials();

// ClientConfig 中包含了后续请求 COS 的客户端设置:
ClientConfig clientConfig = new ClientConfig();
// 设置 bucket 的地域
// COS_REGION 请参照 https://cloud.tencent.com/document/product/436/6224
clientConfig.setRegion(new Region("COS_REGION"));
// 设置生成的 url 的请求协议, http 或者 https
// 5.6.53 及更低的版本,建议设置使用 https 协议
// 5.6.54 及更高版本,默认使用了 https
clientConfig.setHttpProtocol(HttpProtocol.https);
// 生成 cos 客户端。
return new COSClient(cred, clientConfig);
}

关闭 COSClient

当不会再通过一个COSClient实例发起请求的时候,请及时将其关闭,防止资源泄露。
cosclient.shutdown();

使用案例

获取对象访问 URL

方法原型

public URL getObjectUrl(String bucketName, String key);

请求示例

// 调用 COS 接口之前必须保证本进程存在一个 COSClient 实例,如果没有则创建
// 详细代码参见本页:创建 COSClient
COSClient cosClient = createCOSClient();

// 存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式
String bucketName = "examplebucket-1250000000";
// 对象键(Key)是对象在存储桶中的唯一标识。详情请参见 [对象键](https://cloud.tencent.com/document/product/436/13324)
String key = "exampleobject";

System.out.println(cosClient.getObjectUrl(bucketName, key));

参数说明

参数名称
参数描述
类型
是否必填
Bucket
存储桶名称,由 BucketName-APPID 构成
String
Key
对象键(Key)是对象在存储桶中的唯一标识,详情请参见 对象键
String