human: 如何处理七牛云的对象存储生命周期管理

gpt: [对象存储](https://developer.qiniu.com/kodo) > 使用指南 >
[开发指南](https://developer.qiniu.com/kodo/development_guidelines/8596/development-
guidelines) >
[管理存储空间](https://developer.qiniu.com/kodo/development_guidelines/8599/management-
of-storage-space) > 生命周期管理

#  生命周期管理

最近更新时间: 2024-08-12 15:33:34

您可以通过七牛开发者平台实现存储空间内所有对象或特定前缀（可以配置一个或者多个规则）的生命周期管理，设置生命周期规则进行转[低频存储](https://developer.qiniu.com/kodo/product_introduction/3956/kodo-
category)、转[智能分层存储](https://developer.qiniu.com/kodo/12747/storage-class-
intelligent-
tiering)、转[归档直读存储](https://developer.qiniu.com/kodo/product_introduction/3956/kodo-
category)、转[归档存储](https://developer.qiniu.com/kodo/product_introduction/3956/kodo-
category)、转[深度归档存储](https://developer.qiniu.com/kodo/product_introduction/3956/kodo-
category)或删除文件操作。  
  

# **应用场景**

  * 可适用于以下典型场景： 
    * 针对访问周期变化的文件：一段时间内经常访问，但是超过一定时间后便很少或可能不再访问了。这些文档需要在一定时间后从标准存储转化为低频存储，智能分层存储，归档直读存储，归档存储，深度归档存储或者删除。
    * 针对定期保留的日志文件：周期性上传的日志文件，可能只需要保留一个星期或一个月。这些文件需要到期后删除。
    * 一次性或定期删除空间中的大量文件：在空间中配置一条生命周期管理规则，设置定时删除所有或某类型文件，避免大量删除操作。
  * 对于上述场景中的对象，您可以定义用于识别这些对象的生命周期管理规则，通过这些规则实现对象的生命周期管理。  
  

# **具体说明**

生命周期规则通常包含两个关键要素：

  * 策略：生命周期规则匹配的对象。 
    * 按前缀配置：指定对象名前缀来匹配受约束的对象，则匹配该前缀的对象将受规则影响。规则按最长前缀匹配，前缀规则优先于全局规则匹配，每个上传的文件最多匹配一个规则。
    * 配置到整个空间：指定将生命周期管理规则配置到整个空间，则空间内所有对象都将受规则影响。
  * 时间：设置对象进行类别转换、过期删除时相应的时间。  
您可以指定对象在多少天后，受规则影响转换为低频存储、智能分层存储、归档直读存储、归档存储、深度归档存储或者过期并自动被删除。

    * **转低频存储：** 可以设置存储对象 x（建议 x≥60）天后，自动转换成低频存储类型。
    * **转智能分层存储：** 可以设置存储对象 x（建议访问模式不固定的对象）天后，自动转换成智能分层存储存储类型
    * **转归档直读存储：** 可以设置存储对象 x（建议 x≥90）天后，自动转换成归档直读存储类型。
    * **转归档存储：** 可以设置存储对象 x（建议 x≥180）天后，自动转换成归档存储类型。
    * **转深度归档存储：** 可以设置存储对象 x（建议 x≥240）天后，自动转换成深度归档存储类型。
    * **删除文件：** 可以设置存储对象在 x（建议 x≥450）天后被删除。  
时间设置有如下约束限制：

    * 设置的时间为整天数且最少为 1 天。
    * 设置多种转换时：**天数设置必须满足条件：转低频存储 < 转智能分层存储 < 转归档直读存储 < 转归档存储 < 转深度归档存储 < 删除文件。**
    * 低频存储的最短存储时间为 30 天，归档直读存储的最短存储时间为 60 天，归档存储的最短存储时间为 60 天，深度归档的最短存储时间为 180 天。若对象在生命周期管理规则作用下，存储时间少于最短存储时间，需要补足剩余天数的存储费用，请您根据业务情况合理设置时间。
  * 使用说明： 
    * 生命周期规则仅**对规则创建或修改后** 空间内**新上传的对象生效** ，规则创建或修改前就已经存储在空间内或已被标记有生命周期规则的文件不会跟随新的生命周期规则执行变更。
    * 当在空间中覆盖上传同名对象时，该新上传的对象将被赋予最新的生命周期规则。
    * 对于已执行过生命周期规则的对象，当前仅支持通过修改对象生命周期 API 对其已设规则进行修改。**对单个对象赋予的生命周期规则优于空间设置的生命周期规则。**
    * 生命周期规则**生效顺序不可逆** ，无法将归档直读存储转为低频存储、无法将归档存储转为低频存储或归档直读存储、无法将深度归档存储转为低频或归档存储或归档直读存储、无法将已删除文件恢复。
    * 被赋予删除规则的对象，将在文件详情中显示过期时间。
    * 其他使用问题，请见常见问题。  
  

# **操作方式**

Kodo 支持通过控制台方式设置生命周期管理，或通过 API 进行生命周期相关操作。

支持的操作方式 | 参考文档  
---|---  
控制台 | [设置生命周期](https://developer.qiniu.com/kodo/development_guidelines/8540/set-the-life-cycle)  
API | [lifecycle 修改文件生命周期](https://developer.qiniu.com/kodo/api/8062/modify-object-life-cycle)  
[deleteAfterDays 修改文件过期删除时间](https://developer.qiniu.com/kodo/api/1732/update-
file-lifecycle)  
  
  

# **常见问题**

  1. **转低频存储、转智能分层存储、转归档直读存储、转归档存储、转深度归档存储和删除文件操作的开始时间是如何计算的呢？**  
七牛将对象上传时间与设置天数相加，得到的时间入到后一天的午夜（CST: 中国标准时间），从而得到对象操作开始时间。例如对象在
2015年1月1日上午10:00 CST 上传，设置在 3 天后被删除，那么会在 2015年1月5日00:00 CST 之后当天内删除文件。

  2. **在配有生命周期规则的空间内新上传的文件，将被赋予对应的生命周期规则。对于空间内已被标记带有具体生命周期规则的文件，该如何修改其被赋予的生命周期规则呢？**  
当前仅支持使用 API 接口将目标文件上已设定的生命周期规则进行更改，如：某标准存储文件已有 60 天转低频存储、90 天转归档存储、180
天转深度归档存储、360 天后删除的生命周期规则，调用 lifecycle 接口后可重新定义将该文件的自动转低频存储时间更改为 70
天、转归档存储时间更改为 90 天、转深度归档存储时间更改为 200 天、删除时间更改为 400 天；也可取消已设置的规则。  
_注：通过控制台重新定义当前空间的生命周期规则对拥有原规则的文件无影响，新规则仅对新上传的文件生效。_

  3. **主动对已有生效的生命周期规则的文件做变动，该生命周期规则仍继续生效吗？**  
除非文件被删除，否则其配有的生命周期规则将持续生效。例：  
某标准存储文件已配有 60 天转低频存储、90 天转归档存储、360 天后删除的生命周期规则；  
若在 70 天时将已自动转为低频存储的文件手动更改存储类型为标准存储，则其在 90 天时依然进行配有的生命周期规则被转为归档存储、并在 360 天后被删除。  
若在 70 天时将已自动转为低频存储的文件手动删除，则规则失效。  
若在 50 天时将该文件编辑后覆盖更新，即原文件被删除，则其配有的生命周期规则失效；新文件将被重新赋予当前已设的生命周期规则。

  4. **主动对已完成生命周期规则的文件进行修改存储类型，原生命周期规则仍生效吗？**  
不生效。文件已按原生命周期规则执行完毕，那么原生命周期规则已结束、不再生效。例：  
文件已按生命周期规则转到深度归档存储类型后，手动更改存储类型为归档存储，则后续该文件不会再执行原生命周期规则、不会转到深度归档存储。

以上内容是否对您有帮助？