最近更新时间:2023-09-12 20:24:57
PutObjectTagging接口用于设置或更新对象(Object)的标签(Tagging)信息。
对象标签使用一组键值对(Key-Value)标记对象。调用PutObjectTagging接口时,有如下注意事项:
单个Object最多可设置10个标签,Key不可重复。
Key命名规则:
支持大小写字母、数字、空格和符号 + - = . _ : / @
1-128字节,区分大小写,不能以空格开头或结尾,不容许为空
不容许设置系统保留字段,ksc:与kss:开头
value设置规则:
支持大小写字母、数字、空格和符号 + - = . _ : / @
1-256字节,区分大小写,不能以空格开头或结尾
更改标签信息不会更新Object的Last‑Modified时间。
通过HTTP header的方式设置标签且标签中包含任意字符时,您需要对标签的Key和Value做URL编码。
有关对象标签的更多信息,请参见对象标签。
使用此接口,必须是Bucket的所有者或具有ks3:PutObjectTagging权限。KS3将根据你是否拥有写权限返回相应信息。
PUT /<ObjectKey>?tagging HTTP 1.1
Host:<BucketName>.<Region>.ksyuncs.com
Date: GMT Date
Authorization: Auth String
<Tagging>
<TagSet>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</TagSet>
</Tagging>
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Tagging | 容器 | 是 | 标签集合。 子节点:TagSet |
TagSet | 容器 | 是 | 标签集合。 父节点:Tagging 子节点:Tag |
Tag | 容器 | 是 | 标签集合。 父节点:TagSet 子节点:Key、Value |
Key | 字符串 | 是 | 标签键。长度不超过128字节,支持大小写英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、正斜线。 父节点:Tag 子节点:无 |
Value | 字符串 | 是 | 标签值。长度不超过256字节,支持大小写英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、正斜线。 父节点:Tag 子节点:无 |
请求示例
针对存储空间BucketName中的对象ObjectKey,通过PUT请求设置{name:1}和{age:2}两个标签。标签设置成功后返回200 (OK)。
PUT /my-image.jpg ?tagging HTTP 1.1
Host:ks3-example.ks3-cn-beijing.ksyun.com
Date: Fri, 26 Dec 2020 06:34:32 GMT
Authorization: authorization string
<Tagging>
<TagSet>
<Tag>
<Key>name</Key>
<Value>1</Value>
</Tag>
<Tag>
<Key>age</Key>
<Value>2</Value>
</Tag>
</TagSet>
</Tagging>
返回示例
HTTP/1.1 200 OK
Date: Fri, 26 Dec 2020 06:34:32 GMT
x-kss-request-id: dbea4ce4ec23415b9e454ecfa25e****
Content-Length: 0
Server: KS3
错误码 | HTTP状态码 | 描述 |
---|---|---|
MalformedXML | 400 Bad Request | XML 格式不合法,请跟 Restful API 文档仔细比对 |
InvalidTaggingFormat | 400 Bad Request | * Tag 的 key 和 value 中包含了保留字符串ksc:与kss:* 超过了一个对象允许设置标签数量的上限值,目前最多支持10个标签* Key命名重复 * Key的长度不满足1-128字节 * Value的长度不满足1-256字节 * Key或Value以空格开头或结尾 |
SignatureDoesNotMatch | 403 Forbidden | 提供的签名不符合规则,返回该错误码 |
AccessDenied | 403 Forbidden | 没有该Object的PutObjectTagging权限 |
NoSuchKey | 404 Not Found | 如果对象不存在,则无法添加对象标签,将返回该错误码 |
纯净模式