设置对象标签-PutObjectTagging
功能介绍
用户可以通过本接口设置或更新对象(Object)的标签信息。对象标签使用一组键值对(Key-Value)标记对象。
如果请求中不携带版本号(versionId),需要确保执行者有PutObjectTagging权限。如果请求中携带版本号(versionId),需要确保执行者有PutObjectTagging+PutObjectVersionTagging权限。缺省情况下只有对象的所有者可以执行此操作,也可以通过设置桶策略或用户策略给其他用户。
默认设置Object当前版本的标签信息。可以通过指定versionId参数来设置指定Object版本的标签信息。如果对应版本为删除标记(Delete Marker),则OBS将返回404 Not Found。
授权信息
您必须是对象拥有者或拥有设置对象标签的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别。
- 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
- 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:object:PutObjectTagging(未开启多版本)、obs:object:PutObjectVersionTagging(开启或暂停多版本)权限,授权操作请参见创建IAM自定义策略。
- 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:object:putObjectTagging(未开启多版本)、obs:object:putObjectVersionTagging(开启或暂停多版本)权限,授权操作请参见创建IAM自定义身份策略。
授权项
Action
访问级别
Access Level
资源类型(*为必须)
Resource Type (*: required)
Condition Key
Alias
依赖的授权项
Dependencies
obs:object:putObjectTagging(未开启多版本)
obs:object:putObjectVersionTagging(开启或暂停多版本)
Tagging
object *
-
-
-
- g:RequestTag/<tag-key>
- g:TagKeys
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- 如果使用桶策略进行授权,需具备obs:object:PutObjectTagging(未开启多版本)、obs:object:PutObjectVersionTagging(开启或暂停多版本)权限,具体操作请参见自定义创建桶策略。
请求消息样式
PUT /objectname?tagging&versionId=versionid HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com
Date: date
Authorization: authorization string
Content-MD5: md5
<?xml version="1.0" encoding="UTF-8">
<Tagging>
<TagSet>
<Tag>
<Key>Key</Key>
<Value>Value</Value>
</Tag>
</TagSet>
</Tagging>
请求消息参数
该请求使用的消息参数如下表1 请求消息参数所示。
请求消息头
该请求使用的消息头如下表2 请求消息头所示。
请求消息元素
在此请求中,需要在请求的消息体中配置对象的标签。标签的配置信息以XML格式上传。具体的配置元素如下表3 对象的标签配置元素所示。
响应消息样式
1 2 3 4 5 |
HTTP/1.1 status_code x-obs-request-id: request id x-obs-id-2: id Content-Length: length Date: date |
响应消息头
该请求的响应消息使用公共消息头,具体请参考3.3-表 公共响应消息头。
响应消息元素
该请求的响应消息中不带有响应元素。
错误响应消息
除了公共的错误码外,此接口还会返回一些其他的错误码。下表中列出本接口的一些常见错误,以及可能原因。如下表4 配置对象标签错误码列表。
请求示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
PUT /objectname?tagging&versionId=G001018455096CE600005306000000DD HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Wed, 27 Jun 2018 13:22:50 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:Pf1ZyGvVYg2BzOjokZ/BAeR1mEQ= Content-MD5: MnAEvkfQIGnBpchOE2U6Og== Content-Length: 182 <Tagging xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> <TagSet> <Tag> <Key>TagName1</Key> <Value>TagSetValue1</Value> </Tag> </TagSet> </Tagging> |
响应示例
1 2 3 4 5 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF26000001643FEBA09B1ED46932CD07 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSEZp87iEirC6DggPB5cN49pSvHBWClg Date: Wed, 27 Jun 2018 13:22:50 GMT |
