帮你快速理解、总结文档立即下载

对象标签

最近更新时间:2026-10-13 19:50:04
本文档已由 AI 辅助审校
我的收藏

简介

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

SDK API 参考

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

设置对象标签

功能说明

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

示例代码

Objective-C

QCloudPutObjectTaggingRequest *putReq = [QCloudPutObjectTaggingRequest new];

// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
putReq.bucket = @"examplebucket-1250000000";
// 需要设置的对象键
putReq.object = @"test.png";

// 标签集合
QCloudTagging *taggings = [QCloudTagging new];

QCloudTag *tag1 = [QCloudTag new];

// 标签的 Key,长度不超过128字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号、
// 冒号、斜线
tag1.key = @"age";

// 标签的 Value,长度不超过256字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号
// 、冒号、斜线
tag1.value = @"20";
QCloudTag *tag2 = [QCloudTag new];
tag2.key = @"name";
tag2.value = @"karis";

// 标签集合,最多支持10个标签
QCloudTagSet *tagSet = [QCloudTagSet new];
tagSet.tag = @[tag1,tag2];
taggings.tagSet = tagSet;

// 标签集合
putReq.taggings = taggings;

[putReq setFinishBlock:^(id outputObject, NSError *error) {
// outputObject 包含所有的响应 http 头部
NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutObjectTagging:putReq];
Swift
let putReq = QCloudPutObjectTaggingRequest()

// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
putReq.bucket = "examplebucket-1250000000";
// 需要设置的对象键
putReq.object = @"test.png";

// 标签集合
let taggings = QCloudTagging();

let tag1 = QCloudTag();

// 标签的 Key,长度不超过128字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号、
// 冒号、斜线
tag1.key = "age";

// 标签的 Value,长度不超过256字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号
// 、冒号、斜线
tag1.value = "20";
let tag2 = QCloudTag();
tag2.key = "name";
tag2.value = "karis";

// 标签集合,最多支持10个标签
let tagSet = QCloudTagSet();
tagSet.tag = [tag1,tag2];
taggings.tagSet = tagSet;

// 标签集合
putReq.taggings = taggings;

putReq.finishBlock = {(result,error) in
if let result = result {
// result 包含响应的 header 信息
} else {
print(error!);
}
}
QCloudCOSXMLService.defaultCOSXML().putObjectTagging(putReq);

查询对象标签

功能说明

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

示例代码

Objective-C
QCloudGetObjectTaggingRequest *getReq = [QCloudGetObjectTaggingRequest new];

// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
getReq.bucket = @"examplebucket-1250000000";

[getReq setFinishBlock:^(QCloudTagging * result, NSError * error) {

// tag的集合
QCloudTagSet * tagSet = result.tagSet;
}];
[[QCloudCOSXMLService defaultCOSXML] GetObjectTagging:getReq];
Swift
let getReq = QCloudGetObjectTaggingRequest();

// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
getReq.bucket = "examplebucket-1250000000";

getReq.finishBlock = {(result,error) in
if let result = result {
// tag 的集合
let tagSet = result.tagSet;
} else {
print(error!);
}
}

QCloudCOSXMLService.defaultCOSXML().getObjectTagging(getReq);

删除对象标签

注意
COS iOS SDK 版本需要大于等于 v5.9.9。

功能说明

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

请求示例

Objective-C
QCloudDeleteObjectTaggingRequest *request = [QCloudDeleteObjectTaggingRequest new];

// 文件名
request.object = @"test.png";
// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";
request.versionId = @"versionId";

[request setFinishBlock:^(id result, NSError * error) {

if(!error){
// 删除成功
}else{
// 删除失败
}
}];
[[QCloudCOSXMLService defaultCOSXML] DeleteObjectTagging:request];
Swift
let request = QCloudDeleteObjectTaggingRequest();

// 文件名
request.object = "test.png";

// 存储桶名称,由 BucketName-Appid 组成,可以在 COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
request.bucket = "examplebucket-1250000000";

request.versionId = "versionId";

request.finishBlock = {(result,error) in
if(!error){
// 删除成功
}else{
// 删除失败
}
}

QCloudCOSXMLService.defaultCOSXML().deleteObjectTagging(request);