设置对象标签

最近更新时间: 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****