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