OSS支持使用对象标签(Object Tagging)对存储的对象进行分类,您可以对同标签的文件批量设置生命周期规则。

说明 该功能正在公测中,您可以联系售后技术支持申请体验该功能。
对象标签使用一组键值对(Key-Value)标记对象,您可以在上传文件时添加标签,也可以为现有文件添加标签。
  • 单个文件可设置最多10个标签,Key不可重复。
  • 每个Key长度不超过128字节,每个Value长度不超过256字节。
  • Key和Value区分大小写。
  • 标签合法字符集包括大小写字母、数字、空格和以下符号:

    +‑=._:/

  • 只有Bucket拥有者和授权用户拥有读写对象标签的权限,该权限不受对象ACL控制。
  • 跨区域复制时,对象标签也会复制到目的端。

使用场景

对象标签不受文件目录限制,您可以直接选定整个Bucket内同标签的文件设置生命周期规则。 例如,周期性生成的非长期保存的文件,可以在上传时设置指定的标签,之后通过生命周期规则,将拥有这个标签的文件定期删除。

使用说明

  • 对象标签使用的API接口
    • PutObjectTagging:设置对象的标签。若对象已有标签,则覆盖原标签。
    • GetObjectTagging:读取对象的标签。
    • DeleteObjectTagging:删除某个对象关联的标签。
    • PutObject:用户可在上传对象时,通过x‑oss‑tagging请求头指定对象标签。
    • InitiateMultipartUpload:用户可在初始化分片上传时,通过x‑oss‑tagging请求头指定对 象标签。
    • CopyObject:复制对象时,可通过x-oss-tagging-directive请求头指定是否复制源对象标签,通过x‑oss‑tagging请求头指定目标对象标签。
    • GetObject:当用户拥有读取对象标签的权限时,响应头中会带有x‑oss‑tagging‑count标识对象的标签个数。
    • HeadObject:当用户拥有读取对象标签的权限时,响应头中会带有x‑oss‑tagging‑count标识对象的标签个数。
  • 权限说明
    能够进行Tag相关操作的用户、角色、服务,必须具有如下相关权限:
    • GetObjectTagging:获取对象标签的权限。拥有此权限,可以查看到文件的已有标签。
    • PutObjectTagging:设置对象标签的权限。拥有此权限,可以为文件设置标签。
    • DeleteObjectTagging:删除对象标签的权限。拥有此权限,可以删除文件的标签。

对象标签和生命周期管理

在生命周期规则配置中,您可以指定生命周期规则生效的条件。生命周期规则可针对前缀或对象标签生效,您也可以同时指定两者作为条件。
  • Tag条件中,标签的Key和Value必须同时匹配。
  • 同一个规则中,若同时配置了前缀和多个对象标签,则对象需满足前缀,且同时匹配规则中所有对象标签,才视为适用于该规则。
示例:
<LifecycleConfiguration>
<Rule>
<ID>r1</ID>
<Prefix>rule1</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Tag><Key>yy</Key><Value>2</Value></Tag>
<Status>Enabled</Status>
<Expiration>
<Days>30</Days>
</Expiration>
</Rule>
<Rule>
<ID>r2</ID>
<Prefix>rule2</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Status>Enabled</Status>
<Transition>
<Days>60</Days>
<StorageClass>Archive</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
以上规则中:
  • 以rule1为前缀,且同时拥有标签xx=1和yy=2的对象,在30天后被删除。
  • 以rule2为前缀,且拥有标签xx=1的对象,在60天后被转换为Archive(归档存储)。
说明 更多信息请参见管理文件生命周期