简介
API 返回 CosResult 结构,如果成功可以获取对应 Response 结构中的数据,失败可以通过 CosResult 获取详细信息。
服务端异常
注意
SDK 内部封装的请求均会返回 CosResult 对象,每次调用完成后,均要使用 IsSucc() 成员函数判断本次调用是否成功。
成员函数
函数 | 函数描述 |
bool isSucc() | 返回本次调用成功或失败 当返回 false 时:后续的 CosResult 成员函数才有意义 当返回 True 时:可以从 OperatorResp 中获取具体返回内容 |
string GetErrorCode() | 获取 COS 返回的错误码,用来确定错误场景 |
string GetErrorMsg() | 包含具体的错误信息 |
string GetResourceAddr() | 资源地址,Bucket 地址或 Object 地址 |
string GetXCosRequestId() | 当请求发送时,服务端将会自动为请求生成一个唯一的 ID。使用遇到问题时,request-id 能更快地协助 COS 定位问题 |
string GetXCosTraceId() | 当请求出错时,服务端将会自动为这个错误生成一个唯一的 ID,trace-id 与 request-id 一一对应。使用遇到问题时,trace-id 能更快地协助 COS 定位问题 |
int GetHttpStatus() | 获取 HTTP 状态码 |
请求和响应基类
BaseReq、BaseResp 封装了请求和返回, 调用者只需要根据不同的操作类型生成不同的 OperatorReq,并填充 OperatorReq 的内容即可。
函数返回后,调用对应 BaseResp 的成员函数获取请求结果。
对于 Request,如无特殊说明,仅需要关注 Request 的构造函数。
对于 Response,所有方法的 Response 均有获取公共返回头部的成员函数。Response 的公共成员函数如下,具体字段含义请参见 公共返回头部,此处不再赘述。
uint64_t GetContentLength();std::string GetContentType();std::string GetEtag();std::string GetConnection();std::string GetDate();std::string GetServer();std::string GetXCosRequestId(); //获取 RequestId,即请求 IDstd::string GetXCosTraceId();
使用自助诊断工具
使用步骤
1. 复制异常处理返回的 RequestId(请求 ID)。
2. 单击 COS 自助诊断工具,进入自助诊断页面。
3. 在顶部的 RequestId 输入框中,输入待诊断的 RequestId,并单击开始诊断,请您耐心等待几分钟,便能看到相应的智能诊断结果。