呼叫此介面,可以將透過 FlowSpec 定義的工作流節點及其內部的子節點都匯入到資料開發中。
介面說明
-
該介面不支援匯入多個工作流,若 FlowSpec 中定義了不止一個工作流,則除第一個以外的後續工作流將被忽略。
-
這是一個非同步介面,呼叫該介面將返回一個非同步任務的物件。任務具體的執行狀態需要呼叫 GetJobStatus 查詢。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
dataworks:* |
update |
*全部資源。
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| ProjectId |
integer |
是 |
DataWorks 工作空間的 ID。您可以登入 DataWorks 控制台,進入工作空間管理頁面獲取 ID。 該參數用來確定本次 API 呼叫操作使用的 DataWorks 工作空間。 |
123456 |
| Spec |
string |
是 |
描述這個工作流的 FlowSpec 資訊,具體規範詳見 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 |
| Type |
string |
非同步任務操作類型。 可選值:
|
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"
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。