全部产品
Search
文档中心

大数据开发治理平台 DataWorks:ImportWorkflowDefinition - 导入数据开发工作流

更新时间:Jul 06, 2026

调用此接口,可以将通过FlowSpec定义的工作流节点和其内部的子节点都导入到数据开发中。

接口说明

重要
  • 该接口不支持导入多个工作流,若 FlowSpec 中定义了不止一个工作流,则除第一个以外的后续工作流将被忽略。

  • 这是一个异步接口,调用该接口将返回一个异步任务的对象。任务具体的执行状态需要调用 GetJobStatus 查询。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

dataworks:*

update

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

ProjectId

integer

DataWorks 工作空间的 ID。您可以登录 DataWorks 控制台,进入工作空间管理页面获取 ID。

该参数用来确定本次 API 调用操作使用的 DataWorks 工作空间。

123456

Spec

string

描述这个工作流的 FlowSpec 信息,具体规范详见 FlowSpec

说明

如何快速获取 FlowSpec 模板?

  • 在数据开发中打开工作流->点击右上角“显示 Spec,即可得到针对当前工作流的 FlowSpec 描述。可以基于该 FlowSpec 描述快速构建符合要求的模板。

重要 该接口支持同时创建 Workflow 和其内部节点,因此请注意 FlowSpec 中填写的 ID。如果当前 ID 已经存在,则会变为更新操作,只有不填写 ID 或 ID 不存在时才会变为创建操作。

{ "version": "1.1.0", "kind": "CycleWorkflow", "spec": { "name": "Asynchronous_Workflow_Creation_Test", "id": "632647691239009XXXX", "type": "CycleWorkflow", "workflows": [ { "script": { "path": "XX/OpenAPI_Test/Workflow_Test/Asynchronous_Workflow_Creation_Test", "runtime": { "command": "WORKFLOW" } }, "id": "632647691239009XXXX", "trigger": { "type": "Scheduler", "cron": "00 03 00 * * ?", "startTime": "1970-01-01 00:00:00", "endTime": "9999-01-01 00:00:00", "timezone": "Asia/Shanghai", "delaySeconds": 0 }, "strategy": { "timeout": 0, "instanceMode": "T+1", "rerunMode": "Allowed", "rerunTimes": 3, "rerunInterval": 180000, "failureStrategy": "Break" }, "name": "Asynchronous_Workflow_Creation_Test", "inputs": {}, "outputs": { "nodeOutputs": [ { "data": "632647691239009XXXX", "artifactType": "NodeOutput", "refTableName": "Asynchronous_Workflow_Creation_Test" } ] }, "nodes": [ { "recurrence": "Normal", "id": "742981001612325XXXX", "timeout": 0, "instanceMode": "T+1", "rerunMode": "Allowed", "rerunTimes": 3, "rerunInterval": 180000, "script": { "path": "XX/OpenAPI_Test/Workflow_Test/Asynchronous_Workflow_Creation_Test/111", "runtime": { "command": "ODPS_SQL" }, "content": "select now();\n" }, "trigger": { "type": "Scheduler", "cron": "00 24 00 * * ?", "startTime": "1970-01-01 00:00:00", "endTime": "9999-01-01 00:00:00", "timezone": "Asia/Shanghai", "delaySeconds": 0 }, "name": "111", "inputs": {}, "outputs": { "nodeOutputs": [ { "data": "742981001612325XXXX", "artifactType": "NodeOutput", "refTableName": "111" } ] } }, { "recurrence": "Normal", "id": "595182137303408XXXX", "timeout": 0, "instanceMode": "T+1", "rerunMode": "Allowed", "rerunTimes": 3, "rerunInterval": 180000, "script": { "path": "XX/OpenAPI_Test/Workflow_Test/Asynchronous_Workflow_Creation_Test/222", "runtime": { "command": "ODPS_SQL" }, "content": "select now();\n select 1;" }, "trigger": { "type": "Scheduler", "cron": "00 00 00 * * ?", "startTime": "1970-01-01 00:00:00", "endTime": "9999-01-01 00:00:00", "timezone": "Asia/Shanghai", "delaySeconds": 0 }, "name": "222", "inputs": {}, "outputs": { "nodeOutputs": [ { "data": "595182137303408XXXX", "artifactType": "NodeOutput", "refTableName": "222" } ] } } ], "dependencies": [ { "nodeId": "595182137303408XXXX", "depends": [ { "type": "Normal", "output": "742981001612325XXXX", "refTableName": "111" } ] } ] } ] } }

DryRun

boolean

是否以校验模式调用本接口。取值为 true 时,仅对传入的 workflow spec 做合法性校验,复用真实导入的预处理与校验逻辑(规则完全一致),但不落库、不执行任何写操作;校验结果通过异步任务返回,校验不通过时异步任务失败,错误明细包含错误码、错误信息,以及定位到具体节点的 JSONPath(如 $.spec.workflows[0].nodes[1])。

取值默认为 false,此时按正常逻辑真实导入。

false

返回参数

名称

类型

描述

示例值

object

Schema of Response

RequestId

string

请求 ID。用于出现错误后排查问题。

7C352CB7-CD88-50CF-9D0D-E81BDF020E7F

AsyncJob

object

异步任务状态信息。

Completed

boolean

异步任务是否完成。

false

CreateTime

integer

异步任务创建时间戳。

1706581425000

Error

string

当异步任务失败时的错误信息。

target folder already exists: XXXX

Id

string

异步任务的 ID。

1234567691239009XXXX

Progress

integer

异步任务完成进度,范围区间为 0-100

0

Response

string

该异步任务希望返回的内容。

说明

该字段目前存放在异步任务中被创建的工作流的 ID。

632647691239009XXXX

Status

string

异步任务的状态。

可选值

  • Running 正在运行

  • Success 执行成功

  • Fail 执行失败

  • Cancel 任务被取消

Running

Type

string

异步任务操作类型

可选值

  • Create 创建,创建一个资源的 Job。

  • Cancel 取消,取消某一个创建 Job。

Create

示例

正常返回示例

JSON格式

{
  "RequestId": "7C352CB7-CD88-50CF-9D0D-E81BDF020E7F",
  "AsyncJob": {
    "Completed": false,
    "CreateTime": 1706581425000,
    "Error": "target folder already exists: XXXX",
    "Id": "1234567691239009XXXX",
    "Progress": 0,
    "Response": "632647691239009XXXX",
    "Status": "Running",
    "Type": "Create"
  }
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情