如何通过Tumbling Window实现Schedule Trigger触发后的多管道后续执行?
用翻滚窗口触发器实现主管道完成后触发多管道的方案
核心思路是利用翻滚窗口(Tumbling Window)触发器的管道依赖功能,让后续管道的触发器绑定主管道的运行状态,只有当主管道成功完成当日的运行实例后,后续管道的翻滚窗口触发器才会触发执行。
具体步骤:
确认主管道的Schedule Trigger配置
- 确保主管道的Schedule Trigger为每日6:15触发,触发周期设为1天,窗口大小与触发频率保持一致(1天),保证每个运行实例对应一个明确的时间窗口。
为每条后续管道创建Tumbling Window Trigger
对需要在主管道完成后运行的每一条管道,单独配置翻滚窗口触发器:- 窗口大小设为1天,与主管道的触发周期对齐;触发起始时间可设为6:15(和主管道一致),实际触发时间会由依赖条件控制。
- 关键配置:进入触发器的依赖项标签,点击「添加依赖」:
- 选择主管道作为依赖管道;
- 窗口偏移设为
0(表示依赖同一天的主管道运行实例); - 依赖条件选择成功,即只有主管道成功完成当日运行后,当前触发器才会触发后续管道。
可选:批量处理或控制管道执行顺序
如果后续多条管道需要按固定顺序执行,或者想减少触发器数量,可以创建一个父管道:- 在父管道中用
Execute Pipeline活动依次调用所有后续管道(按需设置执行顺序:串行或并行); - 只为这个父管道配置上述的翻滚窗口触发器,依赖主管道的成功完成。
- 在父管道中用
注意事项:
- 主管道的每个运行实例必须对应一个完整的时间窗口,确保翻滚窗口触发器的依赖能正确匹配到当日的实例;
- 若主管道运行失败,后续管道的触发器不会触发,符合“主管道完成后再执行”的需求;
- 可在ADF的「监控」面板中查看触发器的依赖状态,验证主管道完成后后续管道的触发情况。
内容的提问来源于stack exchange,提问作者Vivek KB
相关产品推荐
相关产品推荐

