设置对象标签

最近更新时间: 2024-12-19 17:12: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
TagSetTagging标签集合Container
TagTagging.TagSet标签集合,最多支持10个标签Containers
KeyTagging.TagSet.Tag标签键,长度不超过128字节,支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线String
ValueTagging.TagSet.Tag标签值,长度不超过256字节,支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线String

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该请求响应体为空。

错误码

以下描述此请求可能会发生的一些特殊的且常见的错误情况:

错误码描述HTTP 状态码
SignatureDoesNotMatch提供的签名不符合规则,返回该错误码403 Forbidden
NoSuchKey如果试图添加的规则所在的对象不存在,返回该错误码404 Not Found
MalformedXMLXML 格式不合法,请跟 restful api 文档仔细比对400 Bad Request
BadRequest如超过了允许一个对象最大设置的 Tag 数量,目前最大支持10个400 Bad Request
InvalidTagTag 的 key 和 value 中包含了保留字符串 cos: 或者 Project400 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****