Object Tag Management
Updated at:2025-11-03
Object Tagging
BOS currently supports setting the object tag directly and specifying the object tag when uploading the object
Set file tags
C++
1 PutObjectTaggingRequest req("bucket", "object");
2 PutObjectTaggingResponse rsp;
3
4 req.add_object_tagging("key", "valaue");
5 req.add_object_tagging("key1", "valaue1");
6
7 int ret = client()->put_object_tagging(req, &rsp);
8 if (ret) {
9 LOGF(WARN, "client err: %d", ret);
10 }
11 if (rsp.is_fail()) {
12 LOGF(WARN,
13 "put_ns_object: [status_code = %d], [message = %s], [requestid = %s]",
14 rsp.status_code(),
15 rsp.error().message().c_str(),
16 rsp.error().request_id().c_str());
17 }
Upload files while setting tags
C++
1 PutObjectRequest req("bucket", "object", "data");
2 PutObjectResponse rsp;
3
4 # Set tag
5 req.add_object_tagging("key", "valaue");
6 req.add_object_tagging("key1", "value1");
7
8 int ret = client()->put_object(req, &rsp);
9 if (ret) {
10 LOGF(WARN, "client err: %d", ret);
11 }
12 if (rsp.is_fail()) {
13 LOGF(WARN,
14 "put_ns_object: [status_code = %d], [message = %s], [requestid = %s]",
15 rsp.status_code(),
16 rsp.error().message().c_str(),
17 rsp.error().request_id().c_str());
18 }
19
Obtain file tags
C++
1 GetObjectTaggingRequest req("bucket", "object");
2 GetObjectTaggingResponse rsp;
3
4 int ret = client()->get_object_tagging(req, &rsp);
5 if (ret) {
6 LOGF(WARN, "client err: %d", ret);
7 }
8 if (rsp.is_fail()) {
9 LOGF(WARN,
10 "put_ns_object: [status_code = %d], [message = %s], [requestid = %s]",
11 rsp.status_code(),
12 rsp.error().message().c_str(),
13 rsp.error().request_id().c_str());
14 }
15
16 // Traverse the obtained tags
17 for (const auto& tag : rsp.tag_set()) {
18 LOGF(INFO, "key: %s, value: %s", tag.key.c_str(), tag.value.c_str());
19 }
