全部文档
当前文档

暂无内容

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

文档中心

初始化(Python)

最近更新时间:2026-06-03 21:32:12

初始化KS3连接对象,可为用户提供一系列与KS3服务进行交互的接口,用于管理桶和对象等KS3服务上的资源。

初始化

创建Connection对象

1. Python SDK版本V1.0.19开始支持超时时间参数timeout
2. Python SDK版本V1.5.0开始支持User-Agent参数ua_addon
3. Python SDK版本V1.5.13开始支持crc校验开关参数enable_crc
4. Python SDK版本V1.11.0开始支持访问方式参数calling_format,网络代理参数proxy_host、proxy_port

5. Python SDK版本V1.12.0开始支持连接池参数connection_pool_size、dns缓存参数dns_cache_time、重试参数retry_policy

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>')

参数说明

参数名

参数类型

参数描述

是否必填

access_key_id

str

金山云提供的AccessKey。

access_key_secret

str

金山云提供的SecretKey。

host

str

金山云提供的各个Region的域名(示例: ks3-cn-beijing.ksyuncs.com ),详情可参考文档:Endpoint与Region的对应关系

也可以是用户自定义域名,如果是用户自定义域名,需要将domain_mode设置为True。

is_secure

bool

是否通过HTTPS协议访问KS3,默认False。

domain_mode

bool

是否使用自定义域名访问KS3(host填写自定义域名),默认False。

timeout

int

超时时间,包括连接超时时间和socket读写超时时间。默认值为10,单位秒。

ua_addon

str

User-Agent的追加设置,推荐格式为{product}/{version}({comment}),示例:testAPP/1.0.0。

User-Agent默认值为PythonSDK/{version}。

enable_crc

bool

是否启用crc校验,默认True。

calling_format

object

访问模式,默认使用VirtualHostCallingFormat(),即通过将存储桶名称作为子域名包含在URL中来访问,例如:https://bucketName.endpoint/objectName。

可选:PathCallingFormat(),即通过在URL的路径部分指定存储桶名称来访问对象。例如:https://endpoint/bucketName/objectName。

proxy_host

str

代理服务器的主机地址,示例值:127.0.0.1。

proxy_port

int

代理服务器的端口号。

proxy_username

str

连接代理服务器的用户名。

proxy_password

str

连接代理服务器的密码。

connection_pool_size

int

http连接池大小,默认为1024。

dns_cache_time

int

dns缓存时间,默认为30,单位秒。

retry_policy

object

重试策略。

need_auth_header

bool

是否需要sdk自动计算签名头,默认True。

local_encrypt

bool

是否启用本地加密,默认False,如选True,需要配置本地密钥路径。

local_key_path

str

当启用本地加密时,配置本地密钥路径。

如您的Bucket创建时间在2022年7月8日前,既可以使用二级域名访问也可以使用三级域名访问;如您的Bucket创建时间在2022年7月8日后,只能使用三级域名访问。

配置场景示例

配置超时时间

使用timeout参数配置连接超时和socket读写超时时间。

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>', timeout=10)

配置代理

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>', proxy_host='<YOUR_PROXY_HOST>', proxy_port='<YOUR_PROXY_PORT>',
               proxy_username='<YOUR_PROXY_USERNAME>', proxy_password='<YOUR_PROXY_PASSWORD>')

配置连接池

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>', connection_pool_size=1024)

配置重试策略

Python SDK默认使用指数退避的重试策略尝试3次,第一次等待1.5秒,第二次等待3秒。也可以在初始化时自定义配置。

from ks3.connection import Connection
from ks3.utils import RetryPolicy, ExponentialWait, StopAfterAttempt, FixedWait, LinearWait

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 定义指数退避重试策略
retry_policy = RetryPolicy(wait_strategy=ExponentialWait(multiplier=1.5, min_interval=1, max_interval=10), stop_strategy=StopAfterAttempt(3))
# 定义固定时间重试策略
# retry_policy = RetryPolicy(wait_strategy=FixedWait(fixed_interval=0.5), stop_strategy=StopAfterAttempt(3))
# 定义线性退避重试策略
# retry_policy = RetryPolicy(wait_strategy=LinearWait(start=1, increment=1, max_interval=10), stop_strategy=StopAfterAttempt(3))
# 定义不进行重试
# retry_policy = None
# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>', retry_policy=retry_policy)

配置dns缓存

from ks3.connection import Connection

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>', dns_cache_time=30)

配置访问模式

from ks3.connection import Connection, PathCallingFormat, VirtualHostCallingFormat

# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
ak = '<YOUR_ACCESS_KEY>'
sk = '<YOUR_SECRET_KEY>'

# 配置Virtual Host访问方式
calling_format = VirtualHostCallingFormat()
# 配置Path Style访问方式
# calling_format = PathCallingFormat()
# 通过指定 host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection(ak, sk, host='<YOUR_REGION_ENDPOINT>', calling_format=calling_format)
文档导读
纯净模式常规模式

纯净模式

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