For Each 並行工作

您可以使用「For Each 並行」工作,從主要整合作業執行其他整合作業 (子整合作業)。如工作名稱所示,子整合會並行執行。

這項工作會使用 API 觸發 ID 做為控制代碼,識別要執行的整合項目。 舉例來說,如果您將 API 觸發條件 ID 指定為 api_trigger/APITriggerX,工作就會執行所有具有 api_trigger/APITriggerX 觸發條件 ID 的子整合。

執行子整合後,您也可以在主要整合中讀取子整合的回應。使用這項工作,以主要整合的依附元件形式執行子整合。

事前準備

設定 For Each 並行工作

如要設定「For Each 並行」工作,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」頁面。

    前往 Application Integration

  2. 在導覽選單中,按一下「整合」

    系統會顯示「整合」頁面,列出 Google Cloud 專案中可用的所有整合項目。

  3. 選取現有整合,或按一下「建立整合」建立新整合。

    如要建立新的整合項目:

    1. 在「建立整合」窗格中輸入名稱和說明。
    2. 選取整合作業的區域。
    3. 選取整合的服務帳戶。如要變更或更新整合的服務帳戶詳細資料,請隨時前往整合工具列的「整合摘要」窗格。
    4. 點按「Create」(建立)。新建立的整合服務會在整合服務編輯器中開啟。

  4. 整合編輯器的導覽列中,按一下「Tasks」(工作),即可查看可用工作和連結器的清單。
  5. 在整合服務編輯器中,點按並放置「For Each Parallel」(For Each 並行) 工作元素。
  6. 按一下設計工具中的「For Each Parallel」(For Each 並行) 工作元素,開啟「For Each Parallel」(For Each 並行) 工作設定窗格。
  7. 使用工作「設定屬性」設定顯示的欄位,詳情請參閱下表。

    系統會自動儲存所有屬性變更。

設定屬性

本節說明「For Each Parallel」工作設定屬性。

輸入屬性

屬性名稱 參數名稱 資料類型 說明
陣列選取 List to iterate 字串、整數、雙精度浮點數或 JSON 類型的陣列。 子整合必須執行的值清單。 系統會為清單中的每個值執行個別的子整合執行緒,且所有執行緒會平行執行。

您可以設定「Where to map individual array elements」(要將個別陣列元素對應至何處) 欄位,將疊代值傳遞至子整合。

您也可以在「對應至其他子整合輸入」欄位中,將其他值從主要整合傳遞至子整合。

子整合詳細資料 API Trigger ID String 要執行的已發布子整合觸發 ID。

這個值位於子整合服務的「API 觸發條件」「觸發條件 ID」欄位中。

Execution strategy 不適用

SYNC:以同步模式執行子整合。在這個模式中,主要整合作業會等待子整合作業完成,再繼續執行下游工作。

ASYNC:以非同步模式執行子整合。在此模式下,主要整合不會等待子整合完成。呼叫子整合後,主要整合會立即執行下游工作。

Run all integrations with this API Trigger ID 不適用 執行具有相同 API 觸發條件 ID 的所有整合。

舉例來說,如果整合項目 AB 具有相同的 API 觸發條件 ID,則系統會針對「List to iterate」(要疊代的清單) 中的每個項目,執行整合項目 AB

注意:如果選取這個選項,主要整合服務就不會提供子整合服務的回應。如要使用子整合的回應,請選取「執行單一整合」選項。

Run a single integration 不適用 只執行「Integration name」(整合作業名稱) 欄位中指定的整合作業。您可以設定「Collect values from sub-integration output(s)」(從子整合輸出內容收集值) 部分,使用子整合的回應。

每次執行 Where to map individual array elements 字串 子整合輸入變數的名稱,陣列元素應對應至該變數。陣列元素可直接對應至子整合輸入變數。如果選取單一子整合,可以從下拉式清單中選取子整合輸入變數。
Map to additional sub-integration input(s) 字串 其他子整合對應選項。
  • 要對應的整合變數:目前整合中的變數名稱,會傳遞至子整合的輸入變數。
  • 要對應的子整合輸入內容:要對應的子整合輸入變數名稱。

這個欄位會以鍵/值組合的形式取值,其中鍵是主要整合中的變數,值則是子整合中的對應輸入變數。

舉例來說,假設主要整合項目有 productID 變數,您想將其對應至 subIntProductID 子整合項目變數,則必須從「Integration variable to map from」(要對應的整合項目變數) 欄位選取 productID,並在「Sub-integration input to map to」(要對應的子整合項目輸入) 欄位中輸入 subIntProductID

Collect values from sub-integration output(s) 字串 如果執行策略為同步 (SYNC),且選取單一子整合 (執行單一整合),則子整合的輸出內容可收集到目前整合中的陣列變數。
  • 要收集的子整合輸出內容:要匯總的子整合輸出變數名稱。
  • 要收集的整合變數:目前整合作業中要收集匯總輸出內容的變數名稱。
執行設定 Integrations to execute at a time (parallel) 整數 子整合可同時執行的次數上限。預設值為 50 (最多 10000)。

一個子整合群組完全執行完畢後,才會執行下一個子整合群組。

Ignore failures 布林值

您可以指定下列任一值:

  • True:工作會忽略子整合作業失敗,並執行所有作業。
  • False:如果子整合失敗,工作就會失敗並終止所有執行作業。

最佳做法

使用「For Each Parallel」工作時,建議採取下列最佳做法:

  • 根據子整合服務的配額限制,設定同類群組大小。
  • 如要收集子整合的輸出內容以供日後使用,請使用 SYNC 執行策略。
  • 如果子整合的執行時間可能超過 2 分鐘,請使用 ASYNC 執行策略。

如要瞭解 For Each Parallel 工作適用的用量限制,請參閱「 用量限制」。

注意事項

一般來說,如果子整合作業的執行時間超過 2 分鐘,或您打算將這項工作與自然非同步工作 (例如「核准」工作) 一併使用,請勿使用 SYNC 執行策略。

錯誤處理策略

工作錯誤處理策略會指定工作因暫時性錯誤而失敗時,系統應採取的動作。如要瞭解如何使用錯誤處理策略,以及不同類型的錯誤處理策略,請參閱「錯誤處理策略」。

配額與限制

如要瞭解配額和限制,請參閱「配額與限制」。

後續步驟