此时http响应状态码为200,响应体的code值为Success。
响应体示例:
{ "code": "Success", "message": "The API call was executed successfully.", "request_id": "req_t_1754903451200", "result": { ...... } }
此时http响应状态码不为200,其中的code字段是string类型的错误码,枚举值如“错误码Code”小节介绍,message字段是string类型的错误详情。
响应体示例:
{ "code": "NotFound.VikingdbCollection", "message": "The specified collection 'test_coll_xx' of VikingDB does not exist.", "request_id": "req_t_1754903615941", "result": null }
此时http响应状态码为200,响应体的ResponseMetadata中无Error字段。
响应体示例:
{ "ResponseMetadata": { "Action": "GetVikingdbCollection", "Region": "cn-beijing", "RequestId": "20250811170347F97382CA6AA2194B7E4C", "Service": "vikingdb", "Version": "2025-06-09" }, "Result": { "ProjectName": "default", "CollectionName": "my_coll_1", ...... } }
此时http响应状态码不为200,响应体的ResponseMetadata中包括Error字段。其中的Code字段是string类型的错误码,枚举值如“错误码Code”小节介绍。
响应体示例:
{ "ResponseMetadata": { "Action": "GetVikingdbCollection", "Error": { "Code": "NotFound.VikingdbCollection", "Message": "The specified collection 'my_coll_1_xx' of VikingDB does not exist." }, "Region": "cn-beijing", "RequestId": "202508111705278269DB3C6ED5DD706B24", "Service": "vikingdb", "Version": "2025-06-09" } }
控制面和数据面采用统一的一套错误码,类型为string,简洁地描述了错误的归因。错误码遵循“错误类型”或“错误原因.错误元素”的描述形式。您可以根据错误码(Code)和错误详情信息(Message)来定位错误根因。
常用错误码枚举值如下:
错误码 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
MissingParameter | 缺失参数 | 缺失必要的请求参数 | 根据报错信息,完善请求参数。 |
InvalidParameter | 参数不合法 | 输入请求参数的类型或格式等不正确 | 根据报错信息,检查请求参数。 |
AccessDenied | 鉴权失败 | 缺失对资源的访问权限 | 检查ak、sk是否正确、请求签名是否正确、ak所属子账户是否拥有对该project下的该资源有访问权限。 |
TooManyRequests | 请求限流 | 单位时间内请求过多 | 若检索请求出现限流,请增加 CPU Quota。 |
InternalError | 服务内部错误 | 服务端出现不符合预期的报错 | 及时联系客服反馈。 |
OperationDenied.Xxx | 禁止对Xxx操作 | 虽然接口请求鉴权成功,但不符合内部执行逻辑。 | 例如, |
NotFound.Xxx | Xxx资源不存在 | 找不到请求参数中的资源 | 例如, |
AlreadyExists.Xxx | Xxx资源已存在 | 对于不可重复的资源,不能重复创建。 | 例如, |