查询工作流作业结果

读取一个工作流作业的执行结果、节点状态和当前可用动作。结果可能仍处于非终态;请检查响应中的结果状态,而不是仅以 HTTP 状态判断成功。

GET https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-apps/{workflow_id}/executions/{execution_id}/result

调用前准备

查询工作流作业列表取得工作流 ID 和执行 ID。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递。

  • $WORKFLOW_ID:作业所属的工作流 ID。

  • $EXECUTION_ID:要查询结果的作业执行 ID。

路径参数

参数

类型

说明

workflow_id

string

工作流 ID。

execution_id

string

作业 ID。

请求示例

curl "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-apps/$WORKFLOW_ID/executions/$EXECUTION_ID/result" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID"

成功响应

成功时返回 200。根据 data.result.status 判断结果的当前状态。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "result": {
      "execution_id": "exec-001",
      "workflow_id": "wf-001",
      "moi_task_id": "task-001",
      "moi_case_id": "case-001",
      "status": "completed",
      "case_result": "{}",
      "node_states": [
        {
          "span_id": "span-001",
          "node_name": "load",
          "status": "completed",
          "duration_ms": 1200
        }
      ],
      "available_actions": [],
      "job_summary": {
        "steps": [
          {
            "name": "load",
            "display_name": "加载数据",
            "status": "completed"
          }
        ]
      }
    }
  }
}

响应字段如下。

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.result.execution_id

string

执行 ID。

data.result.workflow_id

string

工作流 ID。

data.result.moi_task_id

string

任务标识;有值时返回。

data.result.moi_case_id

string

案例标识;有值时返回。

data.result.status

string

当前或最终执行状态。

data.result.case_result

string

服务端提供的执行结果;有值时返回。

data.result.case_error

string

服务端提供的执行错误;有值时返回。

data.result.node_states

object(对象数组)

节点追踪状态列表。每项可含 span_idparent_span_idnode_idnode_nameworkitem_idworker_idkindstatuserror、时间、duration_msattrs_json。其中 node_name 是追踪名称,不是单独的 node_key 字段。

data.result.available_actions

string(字符串数组)

当前状态下允许的操作。

data.result.trace

object

追踪数据;有值时返回。

data.result.trace_error

string

追踪读取错误;有值时返回。

data.result.job_summary

object

可用时返回的作业摘要,其中可含输入、输出和步骤摘要。

data.result.rerun_context

object

本次作业是重新运行时返回的来源执行、节点和状态信息。

错误响应

{
  "code": "ErrNotFound",
  "msg": "资源不存在",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

execution_id 为空或无效。

使用作业列表或创建响应中的执行 ID。

401

ErrUnauthorized

缺少或无效的访问凭据。

检查 API Key 和工作区 Header。

403

ErrForbidden

当前身份没有工作流读取权限。

请求授予 workflow.read 权限。

404

ErrNotFound

作业不存在,或不属于路径中的工作流。

核对工作流 ID、执行 ID 和工作区。

503

ErrServiceUnavailable

依赖服务暂不可用。

稍后重试。

500

ErrServer

服务端未能读取作业结果。

稍后重试。

后续操作

从工作流 DSL 取得节点键后查询工作流作业节点。在当前追踪数据中,节点状态的 node_name 常显示为 node:<NODE_KEY>,但调用时仍应传 DSL 中的实际节点键,而不要把该展示字符串原样当作 node_key

最后更新于