COS XML Python SDK 操作成功会返回一个 dict 或者 None。若调用 SDK 接口请求 COS 服务失败,系统将抛出 CosClientError(客户端异常)或者 CosServiceError (服务端异常)。
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 自助诊断工具,帮助您快速定位问题,调试报错代码。
本页内容是否解决了您的问题?