对象标签

最近更新时间:2024-09-14 16:51:01

我的收藏

简介

本文档提供关于对象标签的 API 概览以及 SDK 示例代码。

相关示例

功能名称
描述
示例代码
设置对象标签
为已存在的对象设置标签
查询对象标签
查询指定对象已有标签
删除对象标签
删除指定的对象标签

前期准备:初始化 COS 服务实例

public class DataManageModel { private CosXml cosXml; //将服务用户设置成数据成员 // 初始化COS服务实例 private void InitCosXml() { string region = Environment.GetEnvironmentVariable("COS_REGION"); CosXmlConfig config = new CosXmlConfig.Builder() .SetRegion(region) // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224 .Build(); string secretId = Environment.GetEnvironmentVariable("SECRET_ID"); // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi string secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi long durationSecond = 600; //每次请求签名有效时长,单位为秒 QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond); this.cosXml = new CosXmlServer(config, qCloudCredentialProvider); } }

使用案例

设置对象标签

PUT Object tagging 用于为已存在的对象设置标签。
public void PutObjectTagging() { try { // 存储桶名称,此处填入格式必须为 bucketname-APPID, 其中 APPID 获取参考 https://console.cloud.tencent.com/developer string bucket = "examplebucket-1250000000"; string key = "exampleobject"; //对象键 PutObjectTaggingRequest request = new PutObjectTaggingRequest(bucket, key); // 增加标签键值对 request.AddTag("tag1", "value1"); //执行请求 PutObjectTaggingResult result = cosXml.PutObjectTagging(request); //请求成功 Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }

查询存储桶标签

GET Object tagging 用于查询指定对象下已有的对象标签。
public void GetObjectTagging() { try { // 存储桶名称,此处填入格式必须为 bucketname-APPID, 其中 APPID 获取参考 https://console.cloud.tencent.com/developer string bucket = "examplebucket-1250000000"; string key = "exampleobject"; //对象键 GetObjectTaggingRequest request = new GetObjectTaggingRequest(bucket, key); // 执行请求 GetObjectTaggingResult result = cosXml.GetObjectTagging(request); // 请求成功 Console.WriteLine(result.GetResultInfo()); // 遍历输出Tagging列表 for (int i = 0; i < result.tagging.tagSet.tags.Count; i++) { Console.WriteLine(result.tagging.tagSet.tags[i].key); Console.WriteLine(result.tagging.tagSet.tags[i].value); } } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }

删除对象标签

DELETE Bucket tagging 用于删除指定对象下已有的对象标签。
public void DeleteObjectTagging() { try { // 存储桶名称,此处填入格式必须为 bucketname-APPID, 其中 APPID 获取参考 https://console.cloud.tencent.com/developer string bucket = "examplebucket-1250000000"; string key = "exampleobject"; //对象键 DeleteObjectTaggingRequest request = new DeleteObjectTaggingRequest(bucket, key); // 执行请求 DeleteObjectTaggingResult result = cosXml.DeleteObjectTagging(request); // 请求成功 Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }

API 操作

关于设置对象标签的 API 接口说明,请参见 PUT Object tagging 文档。
关于查询对象标签的 API 接口说明,请参见 GET Object tagging 文档。
关于删除对象标签的 API 接口说明,请参见 DELETE Object tagging 文档。