功能描述
如您使用子账号调用此项接口,请确保您已经在主账号处获取了
PUT Object tagging
这个接口的权限。注意
目前对象标签功能最多支持一个对象下设置10个不同的标签。
如果已存在对象标签,调用此接口会覆盖掉已有的标签。
版本控制
如果您的存储桶开启了版本控制,并且需要对指定版本的对象添加标签,可以在发起请求时携带 VersionId 参数,对象标签将添加到指定的对象版本中。
请求
请求示例
PUT /<ObjectKey>?tagging&VersionId=VersionId HTTP 1.1Host:<BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth String
说明
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com,其中 <BucketName-APPID> 为带 APPID 后缀的存储桶名字,例如 examplebucket-1250000000,可参阅 存储桶概览 > 基本信息 和 存储桶概述 > 存储桶命名规范 文档;<Region> 为 COS 的可用地域,可参阅 地域和访问域名 文档。
Authorization: Auth String(详情请参见 请求签名 文档)。
请求参数
名称 | 描述 | 类型 | 是否必选 |
versionId | 当启用版本控制时,指定要操作的对象版本 ID,如不指定则将添加标签到最新版本的对象。 | string | 否 |
请求头
请求体
该请求需要设置如下标签集合:
<?xml version="1.0" encoding="UTF-8" ?><Tagging><TagSet><Tag><Key>string</Key><Value>string</Value></Tag></TagSet></Tagging>
具体的数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Tagging | 无 | 标签集合 | Container | 是 |
TagSet | Tagging | 标签集合 | Container | 是 |
Tag | Tagging.TagSet | 标签集合,最多支持10个标签 | Containers | 是 |
Key | Tagging.TagSet.Tag | 标签键,不可为空,长度小于128字节,支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线 | String | 是 |
Value | Tagging.TagSet.Tag | 标签值,长度小于256字节,支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线 | String | 是 |
响应
响应头
响应体
该请求响应体为空。
错误码
实际案例
请求
如下请求向存储桶
examplebucket-1250000000
中的对象exampleobject.txt
写入了{age:18}
和{name:xiaoming}
两个标签。COS 配置标签成功并返回200成功请求。PUT /exampleobject.txt?tagging HTTP/1.1User-Agent: curl/7.29.0Accept: */*Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comAuthorization: Auth StringContent-Length: 127Content-MD5:MD5 StringContent-Type: application/xml<Tagging><TagSet><Tag><Key>age</Key><Value>18</Value></Tag><Tag><Key>name</Key><Value>xiaoming</Value></Tag></TagSet></Tagging>
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 0Connection: keep-aliveDate: Fri, 19 Jan 2020 11:40:22 GMTServer: tencent-cosx-cos-request-id: NWE2MWQ5MjZfMTBhYzM1MGFfMTA5ODVfMTVj****