有奖:文档满意度调查问卷,诚邀您填写> HOT

简介

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

SDK API 参考

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

设置对象标签

功能说明

PUT Object tagging 用于为已存在的对象设置标签。

示例代码

using COSXML.Model;
using COSXML.Model.Object;
using COSXML.Model.Tag;
using COSXML.Auth;
using System;
using COSXML;
using System.Linq;

namespace COSSnippet
{
public class ObjectTaggingModel {

private CosXml cosXml;

ObjectTaggingModel() {
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion("COS_REGION") // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.Build();

string secretId = "SECRET_ID"; // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = "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);
}

/// 设置对象标签, 此接口从 5.4.25 版本开始支持
public void PutObjectTagging()
{
//.cssg-snippet-body-start:[put-object-tagging]
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());
}

}

// .cssg-methods-pragma

static void Main(string[] args)
{
ObjectTaggingModel m = new ObjectTaggingModel();

/// 设置对象标签
m.PutObjectTagging();
// .cssg-methods-pragma
}
}
}

说明
更多完整示例,请前往 GitHub 查看。

查询存储桶标签

功能说明

GET Object tagging 用于查询指定对象下已有的对象标签。

示例代码

using COSXML.Model;
using COSXML.Model.Object;
using COSXML.Model.Tag;
using COSXML.Auth;
using System;
using COSXML;
using System.Linq;

namespace COSSnippet
{
public class ObjectTaggingModel {

private CosXml cosXml;

ObjectTaggingModel() {
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion("COS_REGION") // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.Build();

string secretId = "SECRET_ID"; // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = "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);
}

/// 获取对象标签, 此接口从 5.4.25 版本开始支持
public void GetObjectTagging()
{
//.cssg-snippet-body-start:[get-object-tagging]
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());
}
//.cssg-snippet-body-end
}

// .cssg-methods-pragma

static void Main(string[] args)
{
ObjectTaggingModel m = new ObjectTaggingModel();

/// 获取对象标签
m.GetObjectTagging();
// .cssg-methods-pragma
}
}
}

说明
更多完整示例,请前往 GitHub 查看。

删除对象标签

功能说明

DELETE Bucket tagging 用于删除指定对象下已有的对象标签。

示例代码

using COSXML.Model;
using COSXML.Model.Object;
using COSXML.Model.Tag;
using COSXML.Auth;
using System;
using COSXML;
using System.Linq;

namespace COSSnippet
{
public class ObjectTaggingModel {

private CosXml cosXml;

ObjectTaggingModel() {
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion("COS_REGION") // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.Build();

string secretId = "SECRET_ID"; // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = "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);
}

/// 删除对象标签, 此接口从 5.4.25 版本开始支持
public void DeleteObjectTagging()
{
//.cssg-snippet-body-start:[delete-object-tagging]
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());
}
//.cssg-snippet-body-end
}

// .cssg-methods-pragma

static void Main(string[] args)
{
ObjectTaggingModel m = new ObjectTaggingModel();

/// 删除对象标签
m.DeleteObjectTagging();
// .cssg-methods-pragma
}
}
}

说明
更多完整示例,请前往 GitHub 查看。