Azure Data Factory 系列博客:html
控制流的做用就是在管道的Activity之間設置約束條件,只有知足必定的約束條件時,纔會執行相應的Activity。控制流主要分爲優先約束和Activity。編程
從直觀上來看,控制流的優先約束使得Activity在Pipeline中按照必定的條件進行分支和鏈接。利用控制流能夠實現以下場景:數組
若是Copy data活動執行成功,那麼管道將沿着OnSuccess的控制流,執行「Send Success Email」這一分支,發送成功Copy操做的詳細信息; 若是Copy data活動執行失敗,那麼管道將沿着OnFailure的控制流,執行「Send Fail Email」這一分支,發送Copy操做失敗的詳細信息。編程語言
1,OnSuccess分支性能
每個Activity都會默認建立一個OnSuccess控制流,該控制流線的顏色是綠色的,拖動Activity右側的綠色方塊,UI會自動出現一個綠色的箭頭,把箭頭拖到下一個Web Activity上,就完成了OnSuccess控制流的設置。spa
2,添加OnFail分支3d
點擊任意一個Activity右下方的+號,彈出"Add activity on"列表,選擇 Failure,就會在Activity的右方彈出一個紅色的矩形,跟OnSuccess控制流同樣,拖放到下一個Activity上,就完成了OnFail控制流的設置。htm
3,利用控制流約束控制郵件的發送blog
以下圖所示,利用控制流來控制郵件的發送 ,當Copy data Activity執行成功時,發送copy成功執行的消息;當Copy data Activity失敗時,發送Copy 執行失敗的消息。ip
控制流的Activity主要用於變量、循環和條件:
1,ForEach活動
ForEach 活動在管道中定義重複的控制流。 此活動用於循環訪問集合,並在循環中執行指定的活動。 此活動的循環實現相似於採用編程語言的 Foreach 循環結構。點擊ForEach圖標內部的「筆」,向內部添加活動。
ForEach活動的核心配置是Items屬性,該屬性須要經過「Add dynamic content」來配置,用戶能夠經過系統變量(System variables)、Functions、Variables、和Activity outputs來做爲Iteration。
要把Activity outpus做爲ForEach活動的Iteration,首先要創建Activity和ForEach活動的優先約束,把上游Activity的輸出做爲Iteration,執行ForEach活動內的Activity,直到窮盡數據集的全部item。
2,Lookup活動
Lookup活動的做用就是從Table、Query或Stored procedure中查找出數據行,爲了保證Lookup活動的查詢性能,Lookup 活動的限制:最多能夠返回 5000 行;若是結果集包含的記錄超過此範圍,將返回前 5000 行。Lookup活動的輸出最多支持 4 MB 左右。若是大小超過此限制,則活動會失敗。目前,Lookup活動在超時前的最長持續時間爲 24 小時。
若是勾選"First row only",那麼表示Lookup活動只返回第一行,若是不勾選,那麼返回全部行,可是要知足Lookup活動的限制。
Looup活動輸出的結果能夠做爲ForEach的迭代器。
參考文檔:
Branching and chaining activities in an Azure Data Factory pipeline using the Azure portal