tencent cloud

14天试用边缘安全加速平台 EO 限时免费

文档反馈

对象存储

异常处理

最后更新时间:2024-01-22 11:43:35

简介

COS XML Python SDK 操作成功会返回一个 dict 或者 None。若调用 SDK 接口请求 COS 服务失败,系统将抛出 CosClientError(客户端异常)或者 CosServiceError (服务端异常)。
CosClientError 是由于客户端无法和 COS 服务端正常进行交互所引起。如客户端无法连接到服务端,无法解析服务端返回的数据,读取本地文件发生 IO 异常等。
CosServiceError 是客户端和 COS 服务端交互正常,但操作 COS 资源失败。如客户端访问一个不存在的存储桶,删除一个不存在的对象,没有权限进行某个操作等。

客户端异常

CosClientError 一般指如 timeout 引起的客户端错误,用户捕获后可以选择重试或其它操作。

服务端异常

CosServiceError 提供服务端返回的具体信息,包含了服务端返回的状态码、requestid 和出错明细等。捕获异常后,建议对整个异常进行打印,异常包含了必须的排查因素。以下是异常成员变量的描述以及异常捕获示例。
成员
描述
类型
request_id
请求 ID,用于唯一标识一个请求,对于排查问题十分重要
string
status_code
response 的 status 状态码,更多详情请参见 COS 错误码
string
error_code
请求失败时 body 返回的 Error Code,更多详情请参见 COS 错误码
string
error_msg
请求失败时 body 返回的 Error Message,更多详情请参见 COS 错误码
string

异常捕获示例

from qcloud_cos import CosServiceError

except CosServiceError as e:
e.get_origin_msg() # 获取原始错误信息,格式为XML
e.get_digest_msg() # 获取处理过的错误信息,格式为dict
e.get_status_code() # 获取 http 错误码(如4XX,5XX)
e.get_error_code() # 获取 COS 定义的错误码
e.get_error_msg() # 获取 COS 错误码的具体描述
e.get_trace_id() # 获取请求的 trace_id
e.get_request_id() # 获取请求的 request_id
e.get_resource_location() # 获取 URL 地址

使用自助诊断工具

针对请求可能遇到不同的报错情况,我们为您提供了 COS 自助诊断工具,帮助您快速定位问题,调试报错代码。

使用步骤

1. 复制异常处理返回的 RequestId(请求 ID)。
2. 单击 COS 自助诊断工具,进入自助诊断页面。

3. 在顶部的 RequestId 输入框中,输入待诊断的 RequestId,并单击开始诊断
4. 稍侯片刻,便能看到相应的智能诊断结果。
联系我们

联系我们,为您的业务提供专属服务。

技术支持

如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

7x24 电话支持
中国香港
+852 800 906 020 (免费)
美国
+1 844 606 0804 (免费)
英国
+44 808 196 4551 (免费)
加拿大
+1 888 605 7930 (免费)
澳大利亚
+61 1300 986 386 (免费)
EdgeOne 热线
+852 300 80699
更多本地服务热线陆续新增中