管理存储空间镜像回源规则(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.bucketMirror import HeaderSetting, MirrorRequestSetting, AsyncMirrorRule, SyncMirrorRules, BucketMirror
'''
  异步回源规则,该字段与sync_mirror_rules必须至少有一个,可同时存在。
  mirror_urls: 一组源站url,数量不超过10个,url必须以http或者https开头
  saving_setting_acl: 文件上传KS3时,指定文件的权限。
'''
async_mirror_rule = AsyncMirrorRule.rule_with_acl(mirror_urls=["http://abc.om", "http://www.wps.cn"], saving_setting_acl="private")
# 自定义header,这些header的key和value均是固定的,ks3请求源站时会带上这些header。
set_headers = [{
    "key": "d",
    "value": "b"
}]
# 从客户端发给ks3的header中移除以下指定的header,通常与pass_all或者pass_headers配合使用,只能指定header中的key,不能指定value。
remove_headers = [{
    "key": "d"
}]
# 将客户端发给ks3的header中指定的几个透传给源站,只能指定header中的key,不能指定value。
pass_headers = [{
    "key": "abc"
}]

# pass_all: 将客户端发给ks3的header全部透传给源站,该字段与pass_headers互斥。
header_setting = HeaderSetting(set_headers=set_headers, remove_headers=remove_headers, pass_all=False, pass_headers=pass_headers)

# pass_query_string: ks3请求源站时是否将客户端请求ks3时的query string透传给源站。
# follow3xx: 设置访问源站时,是否follow 302/301。ks3是否响应源站的301和302跳转,如果为false且源站返回了302,则ks3会返回424给客户端,如果为true则ks3收到302后会请求302的location。
mirror_request_setting = MirrorRequestSetting(pass_query_string=False, follow3xx=False, header_setting=header_setting)
sync_mirror_rules = SyncMirrorRules.rules_with_prefix_acl(key_prefixes=["abc"], mirror_url="http://v-ks-a-i.originalvod.com", mirror_request_setting=mirror_request_setting, saving_setting_acl="private")

# use_default_robots: 是否使用默认的robots.txt,如果为true则会在bucket下生成一个robots.txt。
mirror = BucketMirror(use_default_robots=False, async_mirror_rule=async_mirror_rule, sync_mirror_rules=[sync_mirror_rules])
# 设置镜像回源规则
print(b.set_bucket_mirror(mirror))

设置镜像回源规则的更多详情,请参见 PUT BucketMirror

获取镜像回源规则

以下代码用于获取镜像回源规则:

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

# 查看回源功能
print(b.get_bucket_mirror())

获取镜像回源规则的更多详情,请参见 GET BucketMirror

删除镜像回源规则

以下代码用于获取镜像回源规则:

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_mirror()

删除镜像回源规则的更多详情,请参见 DELETE BucketMirror

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

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

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

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

更多建议

0/200

评价建议不能为空

提交成功!

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

问题反馈