创建工作流¶
在当前工作区创建工作流定义。创建成功后不会自动启动作业。
POST https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-deployments
调用前准备¶
请求体¶
将 $AI_STUDIO_API_KEY、$WORKSPACE_ID 和示例中的工作流名称、DSL 替换为实际值。
curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-deployments" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"name": "daily-import",
"dsl_yaml": "workflow:\\n name: daily-import\\n root: main\\nroot:\\n chain: []\\n",
"execution_mode": "one_shot"
}'
curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-deployments" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"name": "order-query-service",
"dsl_yaml": "workflow:\\n name: order-query-service\\n root: main\\nroot:\\n chain: []\\n",
"execution_mode": "dynamic_service",
"dynamic_service": {
"service_name": "order-query-service"
}
}'
curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-deployments" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"name": "daily-import",
"dsl_yaml": "workflow:\\n name: daily-import\\n root: main\\nroot:\\n chain: []\\n",
"execution_mode": "cron",
"cron_expression": "0 2 * * *"
}'
curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-deployments" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"name": "volume-import",
"dsl_yaml": "workflow:\\n name: volume-import\\n root: main\\nroot:\\n chain: []\\n",
"execution_mode": "volume_trigger",
"volume_trigger": {
"volume_id": 1001,
"enabled": true
}
}'
创建工作流时必须提供 name 和 dsl_yaml。source_type 省略时按手写 DSL(manual_dsl)处理。创建时不传 workflow_id 或 runtime_context;修改已有工作流请使用更新工作流。
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
工作流名称。 |
|
string |
否 |
工作流说明。 |
|
string |
是 |
工作流 DSL 的 YAML 文本。 |
|
string |
否 |
运行方式;省略时为 |
|
string |
否 |
工作流来源类型;省略时为 |
|
object |
否 |
运行时输入表单配置。 |
|
object |
否 |
运行时输入表单的布局配置。 |
|
object |
否 |
运行时输入表单的默认值。 |
|
object |
否 |
工作流设计图配置。 |
|
string |
否 |
关联的计算资源 ID。 |
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
工作流名称。 |
|
string |
是 |
工作流 DSL 的 YAML 文本。 |
|
string |
是 |
填写 |
|
object |
是 |
动态服务配置。 |
|
string |
否 |
动态服务名称。 |
|
string |
否 |
动态服务输入的 Schema。 |
|
string |
否 |
动态服务输出的 Schema。 |
|
string |
否 |
动态服务的结果模式。 |
|
string |
否 |
动态服务运行时配置的 JSON 文本。 |
其他可选字段可参见“单次运行”页签。
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
工作流名称。 |
|
string |
是 |
工作流 DSL 的 YAML 文本。 |
|
string |
是 |
填写 |
|
string |
是 |
Cron 表达式。 |
其他可选字段可参见“单次运行”页签。
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
工作流名称。 |
|
string |
是 |
工作流 DSL 的 YAML 文本。 |
|
string |
是 |
填写 |
|
object |
否 |
卷触发配置;运行时输入表单未提供卷 ID 时,必须填写其中的 |
|
integer |
条件必填 |
卷 ID;运行时输入表单未提供卷 ID 时必填。 |
|
boolean |
否 |
是否启用卷触发。 |
|
boolean |
否 |
是否自动派发卷触发的运行。 |
|
string |
否 |
卷触发时使用的变量 JSON 文本。 |
|
integer |
否 |
卷触发运行的最大并发数。 |
其他可选字段可参见“单次运行”页签。
成功响应¶
成功时返回 200。服务保存工作流定义,但不会自动启动作业。记录 data.workflow.id,用于后续查看、更新或启动。
{
"code": "OK",
"msg": "OK",
"data": {
"workflow": {
"id": "wf-001",
"name": "daily-import",
"source_type": "manual_dsl",
"execution_mode": "one_shot",
"draft_id": "draft-001",
"status": "ready"
},
"deployment": {
"workflow_app_id": "wf-001",
"workflow_def_id": "def-001",
"workflow_version_id": "ver-001",
"workflow_name": "daily-import",
"version": 1,
"execution_mode": "one_shot"
}
}
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
object |
响应数据。 |
|
object |
已保存的工作流信息。 |
|
object |
本次提交生成的部署信息;服务端提供时返回。 |
字段 |
类型 |
说明 |
|---|---|---|
|
string |
工作流 ID。 |
|
string |
工作流名称。 |
|
string |
工作流来源类型。 |
|
string |
已保存的运行方式。 |
|
string |
工作流草稿 ID。 |
|
string |
当前工作流状态。 |
|
string |
Cron 表达式;仅定时触发时返回。 |
|
string |
候选 ID;存在候选版本时返回。 |
下面表格展开响应示例中 data 下的 deployment 对象;每一行是该对象的一个字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
工作流应用 ID。 |
|
string |
工作流定义 ID。 |
|
string |
工作流版本 ID。 |
|
string |
工作流名称。 |
|
integer |
工作流版本号。 |
|
string |
已发布的运行方式。 |
|
string |
上一工作流版本 ID;更新已有工作流版本时返回。 |
|
array of string |
已停用的定时任务 ID;替换定时任务时返回。 |
|
object |
卷触发配置;卷触发时返回。 |
|
object |
定时任务信息;定时触发时返回。 |
|
object |
动态服务信息;动态服务时返回。 |
字段 |
类型 |
说明 |
|---|---|---|
|
array of string |
部署警告;存在警告时返回。 |
错误响应¶
{
"code": "ErrParamInvalid",
"msg": "请求参数无效",
"data": null
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
错误代码。 |
|
string |
错误说明。 |
|
null |
错误时为空。 |