TOS 支持为对象设置标签,按照标签对桶中对象进行分类。您可以使用对象标签筛选对象,完成特定对象的生命周期管理和存储桶复制管理。本文介绍对象标签的相关说明及管理对象的操作步骤。
对象标签由一组键值对(Key-Value)组成,标签限制如下:
限制项 | 说明 |
---|---|
计费 | 目前对象标签功能处于免费阶段,收费时间及收费标准会提前另行通知,请您及时关注相应通知。 |
标签数量 | 每个对象最多可添加 10 个标签,且同一对象的 Key 不能重复。 |
标签键值对(Key-Value) |
|
其他 |
|
对象标签结合生命周期
配置生命周期规则时,您可以使用对象标签来筛选对象。在生命周期规则中指定对象标签后,生命周期规则将仅对拥有指定标签的对象生效。此时,如果您使用生命周期规则批量删除对象,将仅会删除拥有指定标签的对象;如果您使用生命周期规则转换对象存储类型,将仅会转换拥有指定标签的对象。具体操作,请参见基于最后修改时间配置生命周期规则和基于最后访问时间配置生命周期规则。
例如以下规则指定拥有 data:image
标签的最新版本对象,如果在 120 天内未被修改,将被删除。
{ "Rules": [{ "ID": "id", "Tags": { "Key": "data", "Value": "image" }, "Status": "Enabled", "Expiration": { "Days": "120" } }] }
对象标签结合存储桶复制
设置跨区域复制规则或同区域复制规则时,您可以使用对象标签来筛选对象。在复制规则中指定对象标签后,复制规则将仅对拥有指定标签的对象生效。此时,使用跨区域复制或同区域复制功能同步文件,仅会同步拥有指定标签的对象。具体操作,请参见跨区域复制概述和同区域复制概述。
例如以下规则指定将源桶中拥有 data:image
标签的最新版本和历史版本对象复制到 Target Bucket Name 桶中。
{ "Role": "ServiceRoleforReplicationAccessTOS", "Rules": [{ "ID": "1", "Status": "Enabled", "Tags": { "Key": "data", "Value": "image" }, "Destination": { "Bucket": "Target Bucket Name", "Location": "cn-beijing", "StorageClass": "STANDARD" }, "HistoricalObjectReplication": "Enabled", "AccessControlTranslation": { "Owner": "BucketOwnerEntrusted" } }] }
设置对象标签前,请确保您已拥有对象标签的相应权限。只有 Bucket 创建者及拥有对象标签读写权限的用户才能读写标签。您可以通过桶策略授予用户对象标签的读写权限,详细信息,请参见桶策略说明。相关动作说明如下:
您可以在控制台为已上传的文件添加标签,也可以通过 API 或 SDK 在上传文件时为文件添加标签,具体说明如下:
您可以在上传文件时使用 x‑tos‑tagging
请求头指定对象标签,具体支持的 API 如下: