全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

管理存储空间回收站规则(Python)

最近更新时间:2025-09-29 15:54:26

开启/关闭回收站

以下代码用于开启/关闭回收站:

from ks3.connection import Connection
from ks3.xmlParsers.bucketRetention import BucketRetention, Rule as BucketRetentionRule

# 金山云主账号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>')
# 初始化回收站规则
rule = BucketRetentionRule()
# 启用回收站
rule.status = BucketRetentionRule.ENABLED
# 禁用回收站
# rule.status = BucketRetentionRule.DISABLED
# 设置回收站内文件保留天数
rule.days = 7

bucket_retention = BucketRetention()
bucket_retention.rule = rule
ret = b.set_bucket_retention(bucket_retention)
print("set_bucket_retention, request_id: ", ret.response_metadata.request_id)

获取回收站规则

以下代码用于获取回收站规则:

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>')

ret = b.get_bucket_retention()
print(ret.to_xml())
print("get_bucket_retention, request_id: ", ret.response_metadata.request_id)

列举回收站中的文件

以下代码用于列举回收站中的文件:

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>')

# 以前缀prefix为a来举例
keys = b.list_retention(prefix='a')
for k in keys:
    print(k.name)
    print(k.retention_id)
    print(k.storage_class)

恢复回收站中的文件

以下代码用于恢复回收站中的文件:

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>')

k = b.get_key('<your_key_name>')
# overwrite: 桶中存在同名文件时的覆盖策略,True:直接覆盖,恢复成功;False:进行冲突报错,恢复失败
ret = k.recover_object(overwrite=True, retention_id='<YOUR_RETENTION_ID>')
print("recover_object, request_id: ", ret.response_metadata.request_id)

删除回收站中的文件

以下代码用于删除回收站中的文件:

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>')

k = b.get_key('<your_key_name>')
ret = k.clear_object(retention_id='<YOUR_RETENTION_ID>')
print("clear_object, request_id: ", ret.response_metadata.request_id)

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈