You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
生命周期规则
PutBucketLifecycle
复制全文
下载 pdf
PutBucketLifecycle
功能描述​
此接口用于为存储桶(Bucket)设置生命周期规则。生命周期规则开启后,TOS 将按照规则中指定的过期时间,自动转换与规则相匹配文件(Object)的存储类型或将其删除。​
注意事项​
​
分类​
注意事项​
数量​
单个桶生命周期规则策略总数不超过 1000 条,将所有策略 JSON 序列化后总大小不能超过 20KB。​
权限​
调用此接口你必须为桶所有者,或桶拥有者的子账号且被授权当前桶的 PutBucketLifecycle 权限。使用桶策略实现权限控制的详细说明,请参见存储桶授权策略管理。​
基于最后修改时间的生命周期规则限制​
不支持按照对象的最后修改时间转换 Appendable 类型对象的存储类型。​
基于最后访问时间的生命周期规则限制​
  • 智能分层和基于最后访问时间的生命周期规则功能互斥,不支持同时设置。​
  • 创建最后访问时间的生命周期规则前,您必须先开启访问跟踪功能。详细介绍,请参见PutBucketAccessMonitor。​
  • 单条生命周期规则不支持同时包含最后修改时间和最后访问时间的策略。​
覆盖​
  • 如果您之前没有设置过生命周期规则,则执行此操作会创建一个新的生命周期规则;如果已为 Bucket 设置了生命周期规则,则执行此操作会覆写已有的规则配置。​
  • PutBucketLifecycle 为覆盖语义。当您需要追加生命周期规则时,请先调用 GetBucketLifecycle 接口获取当前生命周期规则配置,然后追加新的生命周期规则配置,最后调用 PutBucketLifecycle 接口更新生命周期规则配置。​
​
请求消息样式​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: GMT Date​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [​
{​
"ID": "id",​
"Prefix": "prefix",​
"Status": "Enabled",​
"Tags": [​
{​
"Key": "key",​
"Value": "value"​
}​
],​
"Filter": {​
"ObjectSizeGreaterThan": 65536,​
"GreaterThanIncludeEqual": "Enabled",​
"ObjectSizeLessThan": 10485760,​
"LessThanIncludeEqual": "Disabled",​
"Not": [​
{​
"Prefix": "prefix123",​
"Tags": [{​
"Key": "key1",​
"Value": "value1"​
}]​
}​
]​
},​
"Expiration": {​
"Days": 120​
},​
"NoncurrentVersionExpiration": {​
"NoncurrentDays": 90​
},​
"AbortIncompleteMultipartUpload": {​
"DaysAfterInitiation": 30​
},​
"Transitions": [​
{​
"StorageClass": "IA",​
"Days": 30​
},​
{​
"StorageClass": "COLD_ARCHIVE",​
"Days": 60​
}​
],​
"NoncurrentVersionTransitions": [​
{​
"StorageClass": "IA",​
"NoncurrentDays": 30​
},​
{​
"StorageClass": "COLD_ARCHIVE",​
"NoncurrentDays": 60​
}​
]​
}​
]​
}​
​
请求参数和消息头​
该请求使用的公共请求消息头,请参见公共参数。​
​
名称​
位置​
参数类型​
是否必选​
示例值​
说明​
lifecycle​
Query​
String​
是​
-​
代表 PutBucketLifecycle 请求的特殊标识。​
​
请求元素​
说明​
您可以调用 PutBucketLifecycle 接口创建基于最后修改时间的生命规则或基于最后访问时间的生命周期规则,这2种生命周期规则的部分请求元素不同,您需要根据生命周期规则类型设置对应的请求元素。​
通用元素​
​
名称​
参数类型​
是否必填​
示例值​
说明​
Rules​
Array​
是​
-​
生命周期规则信息。​
ID​
String​
否​
id​
设置规则 ID,ID 为 规则的唯一标识符。​
  • ID 长度最长不能超过 255。​
  • 多条规则的 ID 不能重复。​
Prefix​
String​
否​
prefix​
指定规则所适用的前缀(Prefix)。​
  • 如果指定了 Prefix,则表示此规则仅适用于 Bucket 中与 Prefix 匹配的对象。​
  • 如果不设置 Prefix ,则表示此规则适用于 Bucket 中的所有对象。​
  • Prefix 长度最长不能超过 1024。​
Status​
String​
是​
Enabled​
是否启用规则。只能取值 Enabled 或 Disabled,取值说明如下:​
  • Enabled:表示启用规则,TOS 会定期执行该规则。​
  • Disabled:表示不启用规则,TOS 会忽略该规则。​
Tags​
Array​
否​
-​
TOS 可针对有特定标签的 Object,配置生命周期规则,最多可配置 10 个标签。关于标签的详细说明,请参见文件标签管理。​
子节点:Key、Value​
Key​
String​
否​
key​
对象标签的键。​
父节点:Tags​
Value​
String​
否​
value​
对象标签的值。​
父节点:Tags​
Filter​
Container​
否​
-​
指定规则生效的过滤条件,当前支持指定对象大小范围内生效。​
子节点:ObjectSizeGreaterThan、GreaterThanIncludeEqual、ObjectSizeLessThan、LessThanIncludeEqual、Not​
ObjectSizeGreaterThan​
Integer​
否​
65536​
设置规则生效于大于指定大小的对象,单位是字节。​
父节点:Filter​
GreaterThanIncludeEqual​
String​
否​
Enabled​
是否启用相等条件。只能取值 Enabled 或 Disabled,不配置则默认为 Disabled。取值说明如下:​
  • Enabled:表示启用相等条件,即“大于等于”。​
  • Disabled:表示不启用相等条件,即“大于”。​
父节点:Filter​
ObjectSizeLessThan​
Integer​
否​
65536​
设置规则生效于小于指定大小的对象,单位是字节。​
父节点:Filter​
LessThanIncludeEqual​
String​
否​
Enabled​
是否启用相等条件。只能取值 Enabled 或 Disabled,不配置则默认为 Disabled。取值说明如下:​
  • Enabled:表示启用相等条件,即“小于等于”。​
  • Disabled:表示不启用相等条件,即“小于”。​
父节点:Filter​
Not​
Array​
否​
-​
设置本条生命周期规则对指定前缀和标签的对象不生效。​
注意​
  • 开启后,本条生命周期规则将不支持碎片清理。​
  • 一条生命周期规则只能添加一条 Not 配置。​
  • Not 配置请至少指定前缀或标签中的一个。​
Prefix​
String​
否​
prefix123​
指定 Not 配置所适用的对象前缀。​
  • 该前缀最多可设置 1 个,长度最长不能超过 1023。​
  • Not 指定的前缀必须以规则指定的前缀为开头。例如规则指定前缀为 prefix,则 Not 前缀必须为 prefix1、prefix2、prefix123等。​
父节点:Not​
Tags​
Array​
否​
-​
指定 Not 配置所适用的对象标签。​
  • 该标签最多可设置 1 个,合法字符集包括大小写字母、数字、空格和符号:+ - = . _ : /。​
  • Not 指定的标签键必须与规则指定的标签键不同。例如规则指定标签为 "key1":"value1",则 Not 不能指定标签为 "key1":"value1" 或 "key1":"value2"。​
子节点:Key、Value​
Key​
String​
否​
key1​
指定 Not 配置所适用的对象标签的键。​
父节点:Tags​
Value​
String​
否​
value1​
指定 Not 配置所适用的对象标签的值。​
父节点:Tags​
​
基于最后修改时间的生命周期规则相关元素​
​
名称​
参数类型​
是否必填​
示例值​
说明​
Expiration​
Container​
否​
-​
基于最后修改时间配置生命周期规则时,指定删除最新版本对象的过期属性。 对于已开启版本控制的 Bucket,指定的过期时间只对对象的当前版本生效。​
注意​
对象的过期删除时间必须大于转为其他存储类型的时间。​
子节点:Days、Date​
Days​
Integer​
否​
120​
基于最后修改时间配置生命周期规则时,指定最新版本对象过期删除的天数,必须为正整数。​
注意​
Days 与 Date 参数互斥。​
父节点:Expiration​
Date​
String​
否​
2024-01-31T00:00:00.000Z​
基于最后修改时间配置生命周期规则时,指定最新版本对象过期删除的具体日期。​
日期需要按照 ISO8601 标准表示并使用 UTC 时间,且必须为 UTC 的零点。​
注意​
Days 与 Date 参数互斥。​
父节点:Expiration​
NoncurrentVersionExpiration​
Container​
否​
-​
基于最后修改时间配置生命周期规则时,删除历史版本对象的过期属性。仅对已开启版本控制或暂停版本控制的 Bucket 生效,仅对对象的历史版本生效。​
注意​
对象的历史版本过期删除时间必须大于转为其他存储类型的时间。​
子节点:NoncurrentDays、NonCurrentDate​
NoncurrentDays​
String​
否​
30​
基于最后修改时间配置生命周期规则时,指定历史版本对象过期删除的天数。​
注意​
NoncurrentDays 与 NonCurrentDate 参数互斥。​
父节点:NoncurrentVersionExpiration​
NonCurrentDate​
String​
否​
2024-01-31T00:00:00.000Z​
基于最后修改时间配置生命周期规则时,指定历史版本对象过期删除的具体日期。​
日期需要按照 ISO8601 标准表示并使用 UTC 时间,且必须为 UTC 的零点。​
注意​
NoncurrentDays 与 NonCurrentDate 参数互斥。​
父节点:NoncurrentVersionExpiration​
AbortIncompleteMultipartUpload​
Container​
否​
-​
指定未合并的分片任务(碎片)的过期属性。​
说明​
AbortIncompleteMultipartUpload 不支持基于对象标签(Tag)的筛选条件。​
子节点:DaysAfterInitiation​
DaysAfterInitiation​
Integer​
否​
30​
指定未合并的分片任务(碎片)的生命周期规则,在分片任务初始化过后过期删除的天数。​
父节点:AbortIncompleteMultipartUpload​
Transitions​
Array​
否​
-​
基于最后修改时间配置生命周期规则时,沉降最新版本对象存储类型的过期属性。 对于已开启版本控制的 Bucket,指定的过期时间只对对象的当前版本生效。​
注意​
如果您同时设置了自动沉降到低频存储、智能分层、归档闪回存储、归档存储、冷归档存储、深度冷归档及删除对象,则沉降时间必须满足:沉降到低频的时间 < 沉降到智能分层的时间 < 沉降到归档闪回的时间< 沉降到归档的时间 < 沉降到冷归档的时间 < 沉降到深度冷归档的时间 < 删除的时间。​
子节点:StorageClass、Days、Date​
StorageClass​
String​
否​
IA​
基于最后修改时间配置生命周期规则时,指定最新版本对象沉降的存储类型。取值如下:​
  • IA:低频访问存储。​
  • INTELLIGENT_TIERING:智能分层存储。​
  • ARCHIVE_FR:归档闪回存储。​
  • ARCHIVE:归档存储。​
  • COLD_ARCHIVE:冷归档存储。​
  • DEEP_COLD_ARCHIVE:深度冷归档存储。​
说明​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持冷归档存储。​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持深度冷归档存储,且都处于邀测状态,如您需要使用该存储类型,请联系客户经理。​
父节点:Transitions​
Days​
Integer​
否​
120​
基于最后修改时间配置生命周期规则时,指定最新版本对象过期沉降的天数,必须为正整数。​
注意​
Days 与 Date 参数互斥。​
父节点:Transitions​
Date​
String​
否​
2024-01-31T00:00:00.000Z​
基于最后修改时间配置生命周期规则时,指定最新版本过期沉降的具体日期。​
日期需要按照 ISO8601 标准表示并使用 UTC 时间,且必须为 UTC 的零点。​
注意​
Days 与 Date 参数互斥。​
父节点:Transitions​
NoncurrentVersionTransitions​
Array​
否​
-​
基于最后修改时间配置生命周期规则时,沉降历史版本对象的过期属性。仅对已开启版本控制或暂停版本控制的 Bucket 生效,仅对对象的历史版本生效。​
注意​
如果您同时设置了将历史版本自动沉降到低频存储、智能分层、归档闪回存储、归档存储、冷归档存储、深度冷归档存储及删除对象,则沉降时间必须满足:沉降到低频的时间 < 沉降到智能分层的时间 < 沉降到归档闪回的时间< 沉降到归档的时间 < 沉降到冷归档的时间 < 沉降到深度冷归档的时间 < 删除的时间。​
子节点:StorageClass、NoncurrentDays、NonCurrentDate​
StorageClass​
String​
否​
IA​
基于最后修改时间配置生命周期规则时,指定历史版本对象沉降的存储类型。取值如下:​
  • IA:低频访问存储。​
  • INTELLIGENT_TIERING:智能分层存储。​
  • ARCHIVE_FR:归档闪回存储。​
  • ARCHIVE:归档存储。​
  • COLD_ARCHIVE:冷归档存储。​
  • DEEP_COLD_ARCHIVE:深度冷归档存储。​
说明​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持冷归档存储。​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持深度冷归档存储,且都处于邀测状态,如您需要使用该存储类型,请联系客户经理。​
父节点:NoncurrentVersionTransitions​
NoncurrentDays​
Integer​
否​
120​
基于最后修改时间配置生命周期规则时,指定历史版本对象过期沉降的天数,必须为正整数。​
注意​
NoncurrentDays 与 NoncurrentDate 参数互斥。​
父节点:NoncurrentVersionTransitions​
NoncurrentDate​
String​
否​
2024-01-31T00:00:00.000Z​
基于最后修改时间配置生命周期规则时,指定历史版本对象过期沉降的具体日期。​
日期需要按照 ISO8601 标准表示并使用 UTC 时间,且必须为 UTC 的零点。​
注意​
NoncurrentDays 与 NoncurrentDate 参数互斥。​
父节点:NoncurrentVersionTransitions​
​
基于最后访问时间的生命周期规则相关元素​
​
名称​
参数类型​
是否必填​
示例值​
说明​
AccessTimeTransitions​
Array​
否​
-​
基于最后访问时间配置生命周期规则时,最新版本对象的过期属性。​
子节点:StorageClass、Days​
StorageClass​
String​
否​
IA​
基于最后访问时间配置生命周期规则时,指定最新版本对象沉降的存储类型。取值如下:​
  • IA:低频访问存储。​
  • ARCHIVE_FR:归档闪回存储。​
  • ARCHIVE:归档存储。​
  • COLD_ARCHIVE:冷归档存储。​
  • DEEP_COLD_ARCHIVE:深度冷归档存储。​
说明​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持冷归档存储。​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持深度冷归档存储,且都处于邀测状态,如您需要使用该存储类型,请联系客户经理。​
父节点:AccessTimeTransitions​
Days​
Integer​
否​
120​
基于最后访问时间配置生命周期规则时,指定最新版本对象过期沉降的天数,必须为正整数。​
父节点:AccessTimeTransitions​
NoncurrentVersionAccessTimeTransitions​
Array​
否​
-​
在基于最后访问时间的生命周期规则中,历史版本对象的过期属性。​
子节点:StorageClass、NoncurrentDays​
StorageClass​
String​
否​
IA​
基于最后访问时间配置生命周期规则时,指定历史版本对象沉降的存储类型。取值如下:​
  • IA:低频访问存储。​
  • ARCHIVE_FR:归档闪回存储。​
  • ARCHIVE:归档存储。​
  • COLD_ARCHIVE:冷归档存储。​
  • DEEP_COLD_ARCHIVE:深度冷归档存储。​
说明​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持冷归档存储。​
  • 当前仅华北2(北京)、华东2(上海)和华南1(广州)支持深度冷归档存储,且都处于邀测状态,如您需要使用该存储类型,请联系客户经理。​
父节点:NoncurrentVersionAccessTimeTransitions​
NoncurrentDays​
Integer​
否​
60​
基于最后访问时间配置生命周期规则时,指定历史版本对象过期沉降的天数,必须为正整数。​
父节点:NoncurrentVersionAccessTimeTransitions​
​
响应消息头​
该请求返回的公共响应消息头,请参见公共参数。​
响应元素​
该请求响应中无消息元素。​
请求示例​
请求示例 1​
基于最后修改时间配置桶最新版本过期删除。​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: Fri, 30 Jul 2021 08:05:36 +0000​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [{​
"ID": "id",​
"Prefix": "prefix",​
"Status": "Enabled",​
"Expiration": { "Days": 120 }​
}]​
}​
​
请求示例 2​
基于最后修改时间配置多版本桶最新对象过期删除、历史对象过期删除和未合并对象过期删除。​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: Fri, 30 Jul 2021 08:05:36 +0000​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [{​
"ID": "id",​
"Prefix": "prefix",​
"Status": "Enabled",​
"Expiration": { "Days": 120 },​
"NoncurrentVersionExpiration": { "NoncurrentDays": 120 },​
"AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 10 }​
}]​
}​
​
请求示例 3​
基于最后修改时间配置桶中对象执行存储类型转换和过期删除操作。​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: Fri, 30 Jul 2021 08:05:36 +0000​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [{​
"ID": "id",​
"Prefix": "prefix",​
"Status": "Enabled",​
"Expiration": { "Days": 120 },​
"NoncurrentVersionExpiration": { "NoncurrentDays": 120 },​
"Transitions": [​
{​
"StorageClass": "IA",​
"Days": 30​
},​
{​
"StorageClass": "COLD_ARCHIVE",​
"Days": 60​
}​
]​
}]​
}​
​
请求示例 4​
基于最后修改时间配置桶中指定对象前缀和标签执行存储类型转换和过期删除操作。​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: Fri, 30 Jul 2021 08:05:36 +0000​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [{​
"ID": "id",​
"Prefix": "prefix",​
"Status": "Enabled",​
"Expiration": { "Days": 120 },​
"NoncurrentVersionExpiration": { "NoncurrentDays": 120 },​
"Transitions": [​
{​
"StorageClass": "IA",​
"Days": 30​
},​
{​
"StorageClass": "COLD_ARCHIVE",​
"Days": 60​
}​
],​
"Tags": [​
{​
"Key": "aa",​
"Value": "bb"​
},​
{​
"Key": "cc",​
"Value": "dd"​
}​
]​
}]​
}​
​
请求示例 5​
基于最后访问时间配置桶中对象执行存储类型转换和过期删除操作。​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: Fri, 30 Jul 2021 08:05:36 +0000​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [​
{​
"ID": "1",​
"Prefix": "aa",​
"Status": "Enabled",​
"AccessTimeTransitions": [​
{​
"StorageClass":"IA",​
"Days": 30​
},​
{​
"StorageClass":"ARCHIVE_FR",​
"Days": 60​
}​
]​
},​
{​
"ID": "2",​
"Prefix": "vvv",​
"Status": "Enabled",​
"NoncurrentVersionAccessTimeTransitions": [​
{​
"StorageClass":"IA",​
"NoncurrentDays":4​
}​
]​
}​
]​
}​
​
请求示例 6​
根据不同的前缀为桶配置多个生命周期规则。​
​
PUT /?lifecycle HTTP/1.1​
Host: bucket-name.tos-cn-beijing.volces.com​
Date: Fri, 30 Jul 2021 08:05:36 +0000​
Authorization: authorization string​
Content-Length: ContentLength​
Content-MD5: MD5​
{​
"Rules": [​
{​
"ID": "id1",​
"Prefix": "prefix1/",​
"Status": "Enabled",​
"Expiration": { "Days": 120 },​
},​
{​
"ID": "id2",​
"Prefix": "prefix2/",​
"Status": "Enabled",​
"AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 10 }​
}]​
}​
​
响应示例​
​
HTTP/1.1 200 OK​
x-tos-id-2: f91b0c03a01300c1-a444cd0 ​
x-tos-request-id: f91b0c03a01300c1-a444cd0 ​
Date: Fri, 30 Jul 2021 06:45:39 GMT​
server: TosServer​
Content-Length: 0​
​
​
最近更新时间:2025.12.29 18:35:22
这个页面对您有帮助吗?
有用
有用
无用
无用