Object标签管理
更新时间:2024-04-08
Object Tagging
BOS目前支持直接设置object标签, 以及上传object时指定object标签
设置文件的标签
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 }
上传文件, 同时设置标签
C++
1 PutObjectRequest req("bucket", "object", "data");
2 PutObjectResponse rsp;
3
4 #设置标签
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
获取文件的标签
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 // 遍历获取到的标签
17 for (const auto& tag : rsp.tag_set()) {
18 LOGF(INFO, "key: %s, value: %s", tag.key.c_str(), tag.value.c_str());
19 }