文档中心 > 生命周期
生命周期

最近更新时间:2022-07-25

本文介绍如何管理生命周期。


生命周期规则介绍

UOS支持设置生命周期(Lifecycle)规则,自动删除过期的文件和碎片,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。每条规则包含:

  • 规则ID。用于标识一条规则,同一存储空间内规则ID不能重复。

  • 策略。有以下两种设置方式。同一存储空间内仅支持一种设置方式。

    • 按前缀匹配。此种方式允许创建多条规则,前缀不能重复。

    • 配置到整个存储空间。此种方式只能创建一条规则。

  • 过期时间。有两种指定方式:

    • 指定一个过期天数N,文件会在其最近更新时间点的N天后过期。

    • 指定一个过期时间点,最近更新时间在该时间点之前的文件全部过期。

  • 是否生效。

管理生命周期的完整代码请参见GitHub。


设置、获取和删除生命周期规则

以下代码用于设置,获取和删除生命周期规则:

from src.ossConfig import ossConfig
import Oss as Oss

access_key = 'XXXXXXXXX'
secret_key = 'XXXXXXXXXXXXXXXXXXX'
endpoint_url = 'http://XXXXXXXXXXXXXXXXX.com'
config = ossConfig(access_key,secret_key,endpoint_url)

bucket_name = 'test'

#生命周期规则
LifecycleConfig={
               'Rules': [
                  {
                       'Expiration': {
                           'Days': expired_days,
                      },
                       'Filter': {
                           'Prefix': prefix,
                      },
                       'ID': rule_name,
                       'Status': 'Enabled',
                       'Transitions': [
                          {
                               'Days': transition_days,
                               'StorageClass': transition_class,
                          },
                      ],
                  },
              ],
          }

#设置生命周期
if Oss.put_buckets_lifecycle(config, bucket_name,LifecycleConfig):
   print("set lifecycle done")
else:
   print("error")

#获取生命周期
response = Oss.get_bucket_lifecycle(config, bucket_name)
print(response)

#删除生命周期
if Oss.delete_bucket_lifecycle(config, bucket_name):
   print("delete bucket lifecycle complete")
else:
   print("error")