查询执行结果¶
查看你执行成功的 SQL 返回的数据。
如果结果很多,可以分几次读取:offset 表示跳过前多少行,limit 表示这次最多读取多少行。例如,先用 offset: 0, limit: 20 读取前 20 行;再用 offset: 20, limit: 20 读取接下来的 20 行。
POST https://moi.matrixorigin.cn/newmoi/query/result
调用前准备¶
先查询执行状态,确认状态为 success 并取得结果 ID(statement_id)。该接口只能读取当前身份成功执行的查询。
下方示例使用:
$AI_STUDIO_API_KEY:实际个人访问令牌,通过X-API-KeyHeader 传递。$WORKSPACE_ID:查询所在的工作区 ID,通过X-Workspace-IDHeader 传递。$STATEMENT_ID:状态响应中的结果 ID,即data.statement_id。
请求体¶
字段 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
成功执行查询的结果 ID。 |
|
integer |
否 |
开始读取的行位置,从 |
|
integer |
否 |
本次最多返回的行数;未提供或小于等于 |
请求示例¶
curl -X POST "https://moi.matrixorigin.cn/newmoi/query/result" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d "{\"statement_id\":\"$STATEMENT_ID\",\"offset\":0,\"limit\":20}"
成功响应¶
total 是本次返回的行数,不是完整结果集的总行数。result 中每一行按 columns 的顺序排列;Valid 为 false 表示该单元格为 NULL。
{
"code": 200,
"data": {
"query_id": "query_01",
"db_name": "sales",
"statement_id": "statement_01",
"status": "success",
"offset": 0,
"limit": 20,
"total": 1,
"columns": [
{"name": "n", "type": "INT64"}
],
"result": [
[{"String": "1", "Valid": true}]
]
}
}
响应字段如下。
本文中,字段路径中的 [] 表示数组中的每一项。例如,items[].name 表示 items 数组中每一项的 name 字段。
字段 |
类型 |
说明 |
|---|---|---|
|
integer |
成功时为 |
|
string |
产生结果的查询 ID。 |
|
string |
执行时指定的数据库。 |
|
string |
本次结果的 Statement ID。 |
|
string |
成功读取结果时为 |
|
integer |
本次开始读取的行位置。 |
|
integer |
本次请求的最大返回行数。 |
|
integer |
本次实际返回的行数。 |
|
string |
列名。 |
|
string |
数据库返回的列类型。 |
|
string |
单元格的字符串值。 |
|
boolean |
是否为非 |
错误响应¶
{"code": 404, "message": "SQL 查询结果不存在"}
常见 HTTP 错误¶
HTTP 状态码 |
常见原因 |
建议操作 |
|---|---|---|
|
请求体不是有效 JSON,或缺少 |
检查请求体和 Statement ID。 |
|
凭据缺失或无效。 |
检查访问令牌。 |
|
当前身份没有读取结果所需的数据库权限。 |
使用有权限的凭据,或联系管理员授权。 |
|
结果不存在、查询未成功完成,或结果不属于当前身份。 |
确认查询状态为 |
|
服务端无法验证或读取结果。 |
记录错误信息后重试。 |
|
当前角色的执行连接不可用。 |
稍后重试。 |
后续操作¶
继续调整 offset 和 limit 读取后续行,或下载执行结果。