Object Tag

Last updated: 2023-09-13 15:06:25

Feature Overview

This document provides an overview of APIs and SDK code samples for object tagging.
API
Operation
Description
Tagging an Object
Sets tags for an uploaded object
Querying object tags
Queries all tags of an object
Deleting object tags
Deletes all tags of an object

SDK API References

For parameters and method description of all APIs in the SDK, see SDK API Reference.

Tagging an Object

Note

This API is used to set tags for an existing object. It can help you group and manage existing object resources by adding key-value pairs as object tags.

Sample code

Objective-C

QCloudPutObjectTaggingRequest *putReq = [QCloudPutObjectTaggingRequest new];

// The bucket name, composed of BucketName-Appid, can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
putReq.bucket = @"examplebucket-1250000000";

// Collection of tags
QCloudTagging *taggings = [QCloudTagging new];

QCloudTag *tag1 = [QCloudTag new];

// Tag Key, up to 128 bytes in length, supports English letters, numbers, spaces, plus signs, minus signs, underscores, equal signs, periods,
// Colon, slash
tag1.key = @"age";

// Tag value, up to 256 characters. Supports letters, digits, spaces, plus sign, minus sign, underscore, equal sign, and period.
//, colon, slash
tag1.value = @"20";
QCloudTag *tag2 = [QCloudTag new];
tag2.key = @"name";
tag2.value = @"karis";

// Tag collection, supports up to 10 tags
QCloudTagSet *tagSet = [QCloudTagSet new];
tagSet.tag = @[tag1,tag2];
taggings.tagSet = tagSet;

// Collection of tags
putReq.taggings = taggings;

[putReq setFinishBlock:^(id outputObject, NSError *error) {
// outputObject contains all response HTTP headers
NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutObjectTagging:putReq];
Swift
let putReq = QCloudPutObjectTaggingRequest()

// The bucket name, composed of BucketName-Appid, can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
putReq.bucket = "examplebucket-1250000000";

// Collection of tags
let taggings = QCloudTagging();

let tag1 = QCloudTag();

// Tag Key, up to 128 bytes in length, supports English letters, numbers, spaces, plus signs, minus signs, underscores, equal signs, periods,
// Colon, slash
tag1.key = "age";

// Tag value, up to 256 characters. Supports letters, digits, spaces, plus sign, minus sign, underscore, equal sign, and period.
//, colon, slash
tag1.value = "20";
let tag2 = QCloudTag();
tag2.key = "name";
tag2.value = "karis";

// Tag collection, supports up to 10 tags
let tagSet = QCloudTagSet();
tagSet.tag = [tag1,tag2];
taggings.tagSet = tagSet;

// Collection of tags
putReq.taggings = taggings;

req.finishBlock = {(result,error) in
if let result = result {
// The result contains the response header information
}else{
print(error!);
}
}
QCloudCOSXMLService.defaultCOSXML().putObjectTagging(putReq);

Querying object tags

Note

This API is used to query the existing tags of a specified object.

Sample code

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

// The bucket name, composed of BucketName-Appid, can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
getReq.bucket = @"examplebucket-1250000000";

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

// Collection of tags
QCloudTagSet * tagSet = result.tagSet;
}];
[[QCloudCOSXMLService defaultCOSXML] GetObjectTagging:getReq];
Swift
let getReq = QCloudGetObjectTaggingRequest();

// The bucket name, composed of BucketName-Appid, can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
getReq.bucket = "examplebucket-1250000000";

req.finishBlock = {(result,error) in
if let result = result {
// Collection of tags
let tagSet = result.tagSet;
}else{
print(error!);
}
}

QCloudCOSXMLService.defaultCOSXML().getObjectTagging(getReq);

Deleting object tags

Note
The COS iOS SDK version must be v5.9.9 or later.

Note

This API is used to delete the existing tags of a specified object.

Sample Request

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

// File Name
request.object = @"test.png";
// The bucket name, composed of BucketName-Appid, can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";
request.versionId = @"versionId";

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

if(!error){
// Deletion successful
}else{
// Deletion failed
}
}];
[[QCloudCOSXMLService defaultCOSXML] DeleteObjectTagging:request];
Swift
let request = QCloudDeleteObjectTaggingRequest();

// File Name
request.object = "test.png";

// The bucket name, composed of BucketName-Appid, can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
request.bucket = "examplebucket-1250000000";

request.versionId = "versionId";

req.finishBlock = {(result,error) in
if(!error){
// Deletion successful
}else{
// Deletion failed
}
}

QCloudCOSXMLService.defaultCOSXML().deleteObjectTagging(request);