跳轉到
版本 v1.0.34

傳遞資料

傳遞 (Pass) 任務是工作流程 (Workflow) 裡最單純的一種步驟:它不呼叫任何外部服務、也不做運算,只負責把指定的資料原封不動往下傳,或在資料流中注入一組固定值。常用來在分支之間搬資料、補上預設值,或在開發時當作佔位步驟。

和「流程」頁籤的「傳遞資料」不是同一個節點

這頁說的是「任務」頁籤的「傳遞資料任務」——一種任務,「設定」分頁有「參數」欄位,另有「錯誤處理」分頁與測試按鈕。「流程」頁籤另有一個項目,畫面上的名字一字不差也叫「傳遞資料」(在「新增狀態」面板搜尋「傳遞」會出現兩筆同名項目,只有圖示不同),那一個比較精簡(沒有「參數」欄位、沒有「錯誤處理」分頁),見 流程控制節點。認節點請看它是從哪個頁籤拉出來的。

這頁的用途

  • 把上一步的資料直接傳給下一步,不做任何外部呼叫。
  • 在工作流程中注入固定的設定值或預設值。
  • 在尚未接上真正邏輯前,先放一個佔位步驟把流程串起來測試。

開始前

這個任務沒有外部前置需求,不需要建立任何資源即可使用。

操作步驟

  1. 在工作流程編輯器中新增一個傳遞任務(如何新增請見 任務使用指南)。

    傳遞資料任務設定面板

  2. 點選節點,右側開啟設定表單,停在「設定」分頁。

  3. 在「名稱」欄位為這個步驟取一個好辨識的名字。
  4. 在「參數」填入要往下傳的 JSON 內容(可填固定值,也可用 JSONPath 從上一步取值,路徑寫法見 JSONPath 語法)。
  5. 設定「下一個狀態」。
  6. 可用表單上方的「測試任務」按鈕()試跑,確認輸出符合預期。

完整欄位說明

設定分頁

欄位 必填 預設 說明
名稱 平台預帶一個步驟名(該任務類型的英文名 + Action 這個步驟在工作流程中的識別名稱,須在同一工作流程內唯一。詳見 任務通用設定
參數 空物件 {} 要往下傳的資料,以 JSON 物件表示(欄位的「JSON」開關預設已開啟,一打開節點就是帶行號的 JSON 編輯器)。雖然標了紅星,但維持預設的 {} 就算填好了,代表這一步不注入任何值、只是把資料原樣往下送。支援兩種用法:直接傳遞(把指定內容原樣往下送),或在傳遞前用 JSONPath 從上一步輸出取值、重組成新的資料格式(寫法見下方動態取值要在鍵名結尾加 .$)。
下一個狀態 這步完成後要前往的下一個步驟。詳見 任務通用設定
附註 空白 給這個步驟的備註說明,不影響執行。

執行設定(摺疊區塊)

展開「設定」分頁底部的「執行設定」可看到下列共用欄位,完整說明見 任務通用設定

欄位 必填 預設 說明
上傳輸出至外部記憶體 關閉 開啟後這步的輸出改存到外部記憶體,適合輸出資料量很大時使用。
在任務開始階段開啟即時輸出串流 關閉 開啟後,任務開始時把任務定義以串流方式即時送到執行頁面顯示。
在任務結束階段開啟即時輸出串流 關閉 開啟後,任務結束時把結果以串流方式即時送到執行頁面顯示。
錯誤時中止 開啟 開啟(預設)代表這步出錯時整個工作流程中止;關閉後改用下方「預設輸出」繼續往下走。
預設輸出 只在關閉「錯誤時中止」時出現,指定出錯時要改用的替代輸出值。 它展開後是一組英文標籤的子欄位Errors + 這個任務的輸出欄位),見 預設輸出的子欄位

輸入與輸出、錯誤處理

切到「輸入與輸出」、「錯誤處理」分頁可調整資料流與重試/捕捉規則,皆為各任務共用設定,完整說明見 任務通用設定

用 InputPath/OutputPath 控制傳遞範圍

若只想讓資料的某一部分流經這步,可在「輸入與輸出」分頁用 InputPath、OutputPath 篩選,搭配參數一起使用。

實際範例

注入一組固定的狀態值:

  • 參數 (Parameters)
{
  "status": "ok"
}

這步會把上面的內容當成輸出往下傳。也可以混入動態值,例如保留使用者 ID 並補上一個固定標記:

{
  "user_id.$": "$.user.id",
  "action": "proceed",
  "metadata": {
    "step": "payment_verified"
  }
}

若這步收到的輸入是:

{
  "user": { "id": "u-12345" }
}

這一步跑出來的結果是:

{
  "errors": null,
  "action_type": "pass_action",
  "output": {
    "user_id": "u-12345",
    "action": "proceed",
    "metadata": {
      "step": "payment_verified"
    }
  }
}

填入的參數會被包在 output 底下,外層還有平台加的 errorsaction_type——按面板右上角的 「測試任務」試跑,看到的就是這一包。

下一步要怎麼取這裡的值,不是直接寫 $.user_id

每個步驟的結果都會依「輸入與輸出」分頁的 ResultPath 掛到狀態的某個位置,預設是 $.<步驟名稱>Result(步驟叫 PassAction 時就是 $.PassActionResult)。所以下一步要取的路徑一定是從那個位置往下走,不是直接寫 $.user_id。實際要往下幾層請在節點面板打開「定義」開關對照該步驟的 ResultPathResultSelector 再填,並用一次試跑確認取到值。欄位說明見任務通用設定 › 輸入與輸出

動態取值要在鍵名結尾加 .$

上面第二份參數的第一個鍵寫的是 "user_id.$",不是 "user_id"——在手寫 JSON 時,要動態取值的鍵名結尾一定要加 .$ 後綴,平台才知道右邊那串是路徑而不是一段字面文字。這是全手冊通用的規則,完整說明與常見錯誤(含「漏了 .$ 後綴」「把路徑直接串進字串裡」兩種)見 變數與資料引用 › 要避免的常見錯誤JSONPath 語法

用引導式介面就不必自己記 .$

{ "欄位.$": "$.path" }平台在底層產生的長相。在那些有「JSONPath 開關」或「名稱/值」表格的欄位上,只要打開開關、填路徑,.$ 由平台自己加(開關平常隱藏,把滑鼠移到欄位上才會出現在標籤右側,見 任務通用設定)。只有像本頁「參數」這種直接手寫整包 JSON 的地方,才需要自己記得加。

技術識別

  • action_type:pass_action

下一步

  • 需要修改資料結構或寫一段 Python 處理資料(字串替換、攤平、繁簡轉換)→ 程式碼任務
  • 回到 任務使用指南 了解共用設定與其他任務類型。