如何配置Azure Data Factory多调度?双月末触发器配置方法
Azure Data Factory多调度触发配置方案
ADF不支持单个触发器同时配置多种复杂调度规则,你需要为每种调度场景单独创建触发器,或者通过管道内部判断合并逻辑,最直接的方式是单独配置对应触发器:
月末最后一天触发器
创建调度触发器,频率选「月」,间隔1个月,日选择「最后一天」,设置执行时间即可。季度末最后一天触发器
调度触发器,频率选「季度」,间隔1个季度,日选择「最后一天」,按需设置执行时间。年末最后一天触发器
调度触发器,频率选「年」,间隔1年,日选择「最后一天」,按需设置执行时间。上月的上月末触发器
这个要用到调度触发器的自定义表达式功能,步骤如下:- 创建调度触发器,频率选「月」,间隔1个月
- 切换到「高级」选项,勾选「使用自定义表达式开始时间」
- 开始时间输入表达式:
adddays(startofmonth(subtractmonths(utcnow(),1)),-1)
逻辑:先取当前时间减1个月的日期,再取这个月份的第一天,往前推1天就是上月的上月最后一天(比如当前6月,算出来就是4月30日) - 设置执行时间,保存后关联目标管道
上上个季度末触发器
同样用自定义表达式的调度触发器:- 频率选「季度」,间隔1个季度
- 高级选项勾选自定义表达式开始时间
- 开始时间输入表达式:
adddays(startofquarter(subtractquarters(utcnow(),1)),-1)
逻辑:取当前季度减1个季度的日期,再取该季度第一天,往前推1天就是上上个季度最后一天(比如当前Q2,算出来就是去年Q4的最后一天)
如果想用单个触发器覆盖所有场景,也可以创建按天触发的触发器,然后在管道开头加If Condition活动,判断当前日期是否符合上述任意一种场景,符合就执行后续逻辑,否则终止管道。这种方式适合场景较多的情况,但需要编写日期判断表达式。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

