全部產品
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"
  }
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情