设置对象标签
最近更新时间: 2024-08-23 15:08:00
功能描述
CSP 支持为已存在的对象设置标签。PUT Object tagging 接口通过为对象添加键值对作为对象标签,可以协助您分组管理已有的对象资源。
如您使用子账号调用此项接口,请确保您已经在主账号处获取了PUT Object tagging
这个接口的权限。
注意:
目前对象标签功能最多支持一个对象下设置10个不同的标签,如果超出设置上限,CSP 将返回失败。
版本控制
如果您的存储桶开启了版本控制,并且需要对指定版本的对象添加标签,可以在发起请求时携带 VersionId 参数,对象标签将添加到指定的对象版本中。
请求
请求示例
PUT /<ObjectKey>?tagging&VersionId=VersionId HTTP 1.1
Host:<BucketName-APPID>.<Endpoint>
Date: GMT Date
Authorization: Auth String
说明:
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 | 是 |
响应
响应头
此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。
响应体
该请求响应体为空。
错误码
以下描述此请求可能会发生的一些特殊的且常见的错误情况:
错误码 | 描述 | HTTP 状态码 |
---|---|---|
SignatureDoesNotMatch | 提供的签名不符合规则,返回该错误码 | 403 Forbidden |
NoSuchKey | 如果试图添加的规则所在的对象不存在,返回该错误码 | 404 Not Found |
MalformedXML | XML 格式不合法,请跟 restful api 文档仔细比对 | 400 Bad Request |
BadRequest | 如超过了允许一个对象最大设置的 Tag 数量,目前最大支持10个 | 400 Bad Request |
InvalidTag | Tag 的 key 和 value 中包含了保留字符串 cos: 或者 Project | 400 Bad Request |
实际案例
请求
如下请求向存储桶examplebucket-1250000000
中的对象exampleobject.txt
写入了{age:18}
和{name:xiaoming}
两个标签。CSP 配置标签成功并返回204成功请求。
PUT /exampleobject.txt?tagging HTTP/1.1
User-Agent: curl/7.29.0
Accept: */*
Host: examplebucket-1250000000.<Endpoint>
Authorization: Auth String
Content-Length: 127
Content-MD5:MD5 String
Content-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 204 No Content
Content-Type: application/xml
Content-Length: 0
Connection: keep-alive
Date: Fri, 19 Jan 2020 11:40:22 GMT
Server: tencent-cos
x-cos-request-id: NWE2MWQ5MjZfMTBhYzM1MGFfMTA5ODVfMTVj****