最近更新时间:2025-09-30 14:36:11
以下代码用于设置在线解压策略:
from ks3.bucketDecompressPolicy import BucketDecompressPolicy, Rule, OverwritePolicy, PathPrefixPolicy
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>')
rule = Rule(
# 规则id
id="rule1",
# 规则生效的事件,支持:ObjectCreated:*、ObjectCreated:Put、ObjectCreated:Post、ObjectCreated:Copy、ObjectCreated:CompleteMultipartUpload
events="ObjectCreated:*",
# 规则生效的范围(object key 以该前缀开始)
prefix="prefix1",
# 规则生效的范围(object key 以该后缀结束)
suffix=[".zip"],
# 解压后的文件路径前缀替换策略,支持:OVERWRITE_IF_EXISTS(如果解压后的文件已存在,则覆盖)、SKIP_IF_EXISTS(如果解压后的文件已存在,则跳过)
overwrite=OverwritePolicy.SKIP_IF_EXISTS,
# 回调地址
callback='http://callback.com',
# 回调格式,支持:json
callback_format='json',
# 解压后的文件路径前缀
path_prefix="path/",
# 解压后的文件路径前缀替换策略,支持:JUST_PATH_PREFIX(直接使用解压后的文件路径前缀)、ADD_FILENAME(在解压后的文件路径前缀后添加上压缩包的文件名)
path_prefix_replaced=PathPrefixPolicy.ADD_FILENAME,
)
# 校验规则
rule.validate()
# 初始化解压策略,并添加规则
policy = BucketDecompressPolicy(rules=[rule])
# 设置解压策略
ret = b.set_bucket_decompress_policy(policy)
# 打印请求id
print("set_bucket_decompress_policy, 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>')
# 获取解压策略
decompress_policy = b.get_bucket_decompress_policy()
# 打印请求id和解压策略
print("get_bucket_decompress_policy, request_id: ", decompress_policy.response_metadata.request_id)
print(decompress_policy.get_rules())
print(decompress_policy.to_json())以下代码用于删除在线解压策略:
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.delete_bucket_decompress_policy()
# 打印请求id
print("delete_bucket_decompress_policy, request_id: ", ret.response_metadata.request_id)
纯净模式
