940
阿里云
管理对象生命周期__管理文件_开发人员指南_对象存储 OSS-阿里云
OSS 提供 Object(文件)生命周期管理来为您管理Object。您可以为某个Bucket定义生命周期配置,来为该Bucket的Object定义各种规则。目前,您可以通过规则来删除相匹配的Object。每条规则都由如下几个部分组成:
- Object名称前缀
只有匹配该前缀的Object才适用这个规则。 - 操作
您希望对匹配的Object所执行的操作。 - 日期或天数
您期望在特定日期或者在Object最后修改时间后多少天执行指定的操作。
只要Object名称前缀和一条规则的前缀匹配,那么该规则就适用于它。例如,一个Bucket有如下几个Object:
logs/program.log.1
logs/program.log.2
logs/program.log.3
doc/readme.txt
如果一个规则指定的前缀是logs/,那么该规则就适用于前三个以logs/开头的Object;如果前缀是doc/readme.txt,那么这条规则就只对doc/readme.txt起作用。
当前,规则支持“过期删除”操作。例如,您可以设置这样的规则:当前缀为logs/的Object的最后一次更新是30天前,就删除它们;也可以指定在某年某月某日删除doc/readme.txt。
当一个Object匹配到某个过期规则时,GET和HEAD该Object时,OSS在响应Header中加入x-oss-expiration头。它包含了两个键值对:expiry-date的值表示Object的过期日期;rule-id的值表示相匹配的规则ID。
举例
您可以通过OSS开放接口来设置Bucket的生命周期配置。生命周期配置是由XML格式给出的,下面是一个具体的例子。
<LifecycleConfiguration>
<Rule>
<ID>delete logs after 10 days</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>10</Days>
</Expiration>
</Rule>
<Rule>
<ID>delete doc</ID>
<Prefix>doc/</Prefix>
<Status>Disabled</Status>
<Expiration>
<CreatedBeforeDate>2014-12-31T00:00:00.000Z</CreatedBeforeDate>
</Expiration>
</Rule>
</LifecycleConfiguration>
在这个例子中,各个元素的含义如下:
<ID>
:每个规则唯一的标识<Status>
:Enabled或Disabled。OSS只会应用值为Enabled的规则。<Prefix>
:前缀。<Expiration>
:过期操作。子元素<CreatedBeforeDate>
或<Days>
指定绝对和相对过期时间。- 这里CreatedBeforeDate表示的含义是:将最后修改时间早于2014-12-31T00:00:00.000Z的文件删除。晚于这个时间的Object不会被删除。
- 这里Days表示的含义是:将相对最后修改时间10天之后的Object删除。
在这个例子中,第一条规则会删除前缀为logs/的,最后更新时间是10天前的Object。第二条规则虽然指定了删除2014年12月31日之前被修改的前缀为doc/的Object,但是由于它的Status是Disabled状态,所以该规则并不会生效。
细节分析
- 前缀的命名规范和Object一样。
- 当前缀为空时,表明该规则适用于Bucket里的所有Object。
- 任意两个前缀不能有重叠。例如,如果同一Bucket的两条规则,一个前缀是logs/,一个是logs/program,那么OSS会返回错误。
- 当规则设置为在指定日期删除Object,该日期必须是UTC午夜零点,并且符合形如2014-01-01T00:00:00.000Z的ISO8601格式。OSS会在当前时间超过2014-01-01午夜零点时删除匹配的Object。
- 当规则设定为天数时,OSS把Object最后更新时间(Last-Modified)加上天数,再取整到下一个UTC午夜零点。例如,一个Object的最后更新时间是UTC的2014年4月12日上午1点,相匹配的规则定义的天数是3天,那么过期时间就是UTC 2014年4月16日0点整。
- OSS会在指定时间删除与规则相匹配的Object。请注意,通常Object会在指定时间稍稍延后一段时间才被删除。
- 通常Object的最后更新时间和创建时间相差无几。当一个Object被多次Put时,最后更新时间是最后一次Put的时间;当一个Object被Copy到自身时,最后更新时间是Copy发生时的时间。
功能使用参考
最后更新:2016-11-23 16:04:09
上一篇:
删除对象__管理文件_开发人员指南_对象存储 OSS-阿里云
下一篇:
管理跨区域复制__管理文件_开发人员指南_对象存储 OSS-阿里云
DescribeTrails__实例相关接口_API参考_操作审计-阿里云
DescribeTable__API 概览_API 参考_表格存储-阿里云
负载均衡计费常见问题___常见问题_负载均衡-阿里云
8.3 在BI工具中连接和使用分析型数据库__第八章 在生产中使用分析型数据库_使用手册_分析型数据库-阿里云
鉴权配置__访问控制_用户指南_CDN-阿里云
分隔符日志__常见日志格式_用户指南_日志服务-阿里云
图片鉴黄__使用手册_阿里绿网-阿里云
创建专有网络__快速入门_专有网络 VPC-阿里云
ListAccessKeys__用户管理接口_RAM API文档_访问控制-阿里云
GetConfig__Logtail配置相关接口_API-Reference_日志服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云