瞭解資料處理站控制流程
什麼是控制流程
控制流程是管線活動的協調流程,其中包括將活動鏈結成序列、分支、定義管線層級的參數,以及在隨需或從觸發程序叫用管線時傳遞引數。
控制流程也可以包括迴圈容器,而於迴圈容器每次反覆運算時傳遞資訊。
如果使用 For Each 迴圈作為控制流程活動,則 Azure Data Factory 可以使用此方法來平行啟動多個活動。 如此,在您使用 Azure Data Factory 建立的管線內,您可以建立複雜的反覆式處理邏輯,以支援建立各種資料整合模式,例如建立現代化資料倉儲。
以下各節將說明一些常見的控制流程活動。
鏈結活動
在 Azure Data Factory 中,您可以在管線內將活動鏈結成序列。 您可以在活動定義中使用 dependsOn 屬性,將此活動與上游活動鏈結起來。
分支活動
使用 Azure Data Factory 在管線內將活動分支。 「If 條件」活動就是分支活動的一個例子,類似於程式設計語言中提供的 if 陳述式。 分支活動會評估一組活動,當條件評估為 true 時,就執行一組活動。 當評估為 false 時,就執行另一組活動。
參數
您可以在管線層級定義參數,並在依需求或透過觸發程序叫用管線時傳遞引數。 當參數保留的引數傳遞至管線時,活動就會取用引數。
自訂狀態傳遞
Azure Data Factory 支援自訂狀態傳遞。 自訂狀態傳遞是一種活動,可建立活動的輸出或狀態,而管線中的後續活動需要取用此輸出或狀態。 例如,在活動的 JSON 定義中,您可以存取前一個活動的輸出。 使用自訂狀態傳遞可讓您建立工作流程,以透過活動來傳遞值。
迴圈容器
控制流程的迴圈容器網 (例如 ForEach 活動) 定義管線中的重複操作。 可讓您反覆查看集合,在已定義的迴圈中執行指定的活動。 作用類似於程式設計語言中使用的「for each 迴圈結構」。 除了 each 活動之外,還有 Until 活動。 此功能類似於程式設計中使用的 do-until 迴圈。 用途是在迴圈中執行一組活動 (do),直到符合條件為止 (until)。
以觸發程序為基礎的流程
可依需求 (以事件為基礎,例如 Blob 貼文) 或依時鐘時間觸發管線。
從另一個管線叫用管線
Azure Data Factory 的「執行管線」活動可讓一個 Data Factory 管線叫用另一個管線。
差異流程
差異載入是與使用差異流程有關的使用案例。 ETL 模式中的差異載入只載入管線上次反覆運算以來變更的資料。 查閱活動和彈性排程之類的功能有助於處理差異載入作業。 就使用查閱活動而言,將會讀取或查閱任何外部來源的資料列或資料表名稱值。 後續活動可以進一步參考此輸出。
其他控制流程
還有很多控制流程活動。 如需其他實用活動,請參閱下列項目:
Web 活動:Azure Data Factory 中使用控制流程的 web 活動,可以從 Data Factory 管線呼叫自訂 REST 端點。 可以傳遞資料集和連結服務,供活動取用。
取得中繼資料活動:「取得中繼資料活動」取出 Azure Data Factory 中任何資料的中繼資料。