管理存储空间生命周期规则(Python)

最近更新时间:2023-01-11 10:41:07

设置生命周期规则

以下代码用于设置生命周期规则:

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='YOUR_REGION_ENDPOINT')

#获取存储空间实例。
b = c.get_bucket('<YOUR_BUCKET_NAME>')

from ks3.xmlParsers.bucketLifecycle import BucketLifecycle, Rule as LifecycleRule, Filter as LifecycleFilter, Expiration as LifecycleExpiration, Transition as LifecycleTransition
from ks3.objectTagging import Tag
tag = Tag(key="tag1", value="test1")
# 筛选前缀为 prefix1、标签为 tag1:test1 的 objects,设置过期规则,在其最后修改时间3天后过期。
rule1 = LifecycleRule('rule1', LifecycleFilter('prefix1', tags=[tag]),
                      status='Enabled',
                      expiration=LifecycleExpiration(days=3))

# 设置过期规则,筛选标签为 tag1:test1 的 objects,最后修改时间在指定日期之前的,过期
rule2 = LifecycleRule('rule2', LifecycleFilter(tags=[tag]),
                      status='Enabled',
                      expiration=LifecycleExpiration(
                        date=datetime(2021, 12, 12).isoformat(timespec='seconds') + '+08:00'))

# 设置存储类型转换规则,筛选前缀为 prefix3 的 objects,在其最后修改时间20天之后转为低频访问类型,在其最后修改时间30天之后转为归档类型。
rule3 = LifecycleRule('rule3', LifecycleFilter('prefix3'),
                      status='Enabled',
                      transitions=[LifecycleTransition(days=20, storage_class='STANDARD_IA'),
                                   LifecycleTransition(days=60, storage_class='ARCHIVE')])

# 设置存储类型转换规则,筛选前缀为 prefix3 的 objects,最后修改时间在指定日期之前的,转为低频访问类型
rule4 = LifecycleRule('rule4', LifecycleFilter('prefix4'),
                      status='Enabled',
                      transitions=[
                        LifecycleTransition(date=datetime(2021, 12, 12).isoformat(timespec='seconds') + '+08:00',
                                            storage_class='STANDARD_IA')])
lifecycle = BucketLifecycle([rule1, rule2, rule3, rule4])
# 设置生命周期规则
b.set_bucket_lifecycle(lifecycle)

有关设置生命周期规则详情,请参见Put Bucket Lifecycle

查看生命周期规则

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='YOUR_REGION_ENDPOINT')

#获取存储空间实例。
b = c.get_bucket('<YOUR_BUCKET_NAME>')
# 查看生命周期规则
lifecycle = b.get_bucket_lifecycle()
print(lifecycle.to_xml())

有关查看生命周期规则详情,请参见Get Bucket Lifecycle

查看生命周期规则

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='YOUR_REGION_ENDPOINT')

#获取存储空间实例。
b = c.get_bucket('<YOUR_BUCKET_NAME>')
# 删除生命周期规则
b.delete_bucket_lifecycle()

有关删除生命周期规则详情,请参见Delete Bucket Lifecycle

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈