最近更新时间:2025-06-18 20:51:54
KS3 Python SDK异常分为四类:S3ResponseError、S3CreateError、KS3ClientError、KS3ResponseError,这些异常定义在ks3.exception中。
异常的变量、类型及描述如下表所示:
变量 | 类型 | 描述 |
status | Int | 服务端异常时,会出现status。 |
reason | String | 问题原因的描述。 |
request_id | String |
|
body | String | 异常的具体内容。 |
以下代码展示了访问一个不存在的桶时的异常处理,并打印出错误信息的HTTP状态码和请求ID:
from ks3.connection import Connection
# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行API访问或日常运维,请登录https://uc.console.ksyun.com/pro/iam/#/user/list创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。
conn = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='<YOUR_REGION_ENDPOINT>')
# 如果正常返回,则Bucket存在;如果抛出S3ResponseError
try:
conn.head_bucket('<BUCKET_NAME_NOT_EXIST>')
except S3ResponseError as e:
print('Bucket [%s] not exists' % bucket_name)
print('status: %s, reason: %s, request_id: %s, body: %s' % (e.status, e.reason, e.request_id, e.body)) 异常类型 | 说明 |
|---|---|
KS3ClientError | 由于客户端输入有误引起的异常,比如桶名不合规、CRC64校验不正确等场景。 |
S3ResponseError | 最常见的异常。当KS3服务器返回HTTP错误码时,Python SDK会抛出该异常。 错误码参考文档:错误码。 |
S3CreateError | 创建桶失败时抛出该异常,返回409状态码。 |
KS3ResponseError | 针对非存储服务的KS3错误时抛出该异常,比如KS3计量错误。 |
纯净模式
