有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于对象标签的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
设置对象标签
为已上传的对象设置标签
查询对象标签
查询指定对象下已有的对象标签
删除对象标签
删除指定对象下已有的对象标签

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

设置对象标签

上传时添加标签

功能说明

上传对象时,可以通过为请求添加特定的 Header 来给对象打标签,例如设置 x-cos-tagging 的值为 Key1=Value1&Key2=Value2,标签集合中的 Key 和 Value 必须先进行 URL 编码。

示例代码

// 初始化 TransferConfig,这里使用默认配置,如果需要定制,请参考 SDK 接口文档
TransferConfig transferConfig = new TransferConfig.Builder().build();
//初始化 TransferManager
TransferManager transferManager = new TransferManager(cosXmlService,
transferConfig);
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
String srcPath = new File(context.getCacheDir(), "exampleobject")
.toString(); //本地文件的绝对路径
PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);
try {
// 设置对象标签,标签集合中的 Key 和 Value 必须先进行 URL 编码
putObjectRequest.setRequestHeaders("x-cos-tagging", "Key1=Value&Key2=Value2", false);
} catch (CosXmlClientException e) {
e.printStackTrace();
}
// 若存在初始化分块上传的 UploadId,则赋值对应的 uploadId 值用于续传;否则,赋值 null
String uploadId = null;
// 上传文件
COSXMLUploadTask cosxmlUploadTask = transferManager.upload(bucket, cosPath,
srcPath, uploadId);
//设置返回结果回调
cosxmlUploadTask.setCosXmlResultListener(new CosXmlResultListener() {

@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
COSXMLUploadTask.COSXMLUploadTaskResult uploadResult =
(COSXMLUploadTask.COSXMLUploadTaskResult) result;
}
// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest request,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明
更多完整示例,请前往 GitHub 查看。

为已存在的对象添加标签

功能说明

COS 支持为已存在的对象设置标签。通过为对象添加键值对作为对象标签,可以协助您分组管理已有的对象资源。

示例代码

// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
PutObjectTaggingRequest putObjectTaggingRequest = new PutObjectTaggingRequest(bucket, cosPath);
putObjectTaggingRequest.addTag("key", "value");
try {
PutObjectTaggingResult putObjectTaggingResult = cosXmlService.putObjectTagging(putObjectTaggingRequest);
} catch (CosXmlClientException clientException) {
clientException.printStackTrace();
} catch (CosXmlServiceException serviceException) {
serviceException.printStackTrace();
}
说明
更多完整示例,请前往 GitHub 查看。

查询对象标签

功能说明

查询指定对象下已有的对象标签。

示例代码

// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
GetObjectTaggingRequest getObjectTaggingRequest = new GetObjectTaggingRequest(bucket, cosPath);
try {
GetObjectTaggingResult getObjectTaggingResult = cosXmlService.getObjectTagging(getObjectTaggingRequest);
} catch (CosXmlClientException clientException) {
clientException.printStackTrace();
} catch (CosXmlServiceException serviceException) {
serviceException.printStackTrace();
}
说明
更多完整示例,请前往 GitHub 查看。

删除对象标签

功能说明

删除指定对象下已有的对象标签。

示例代码

// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
DeleteObjectTaggingRequest deleteObjectTaggingRequest = new DeleteObjectTaggingRequest(bucket, cosPath);
try {
DeleteObjectTaggingResult deleteObjectTaggingResult = cosXmlService.deleteObjectTagging(deleteObjectTaggingRequest);
} catch (CosXmlClientException clientException) {
clientException.printStackTrace();
} catch (CosXmlServiceException serviceException) {
serviceException.printStackTrace();
}
说明
更多完整示例,请前往 GitHub 查看。