如何在不同日期在同一ADF管道中的不同日期运行两个活动?

时间:2020-05-14 06:36:45

标签: azure azure-data-factory azure-data-factory-2

我有一个ADF管道,必须每天运行。活动1和2应该每天触发。但是有一个条件。在每个星期日,必须运行3个活动。在其他6天中,必须运行活动4。

是否可以在ADF中进行? 还是我必须创建两个单独的管道,一个在大型日运行,另一个在星期日运行?

有人可以帮我吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

我建议您在活动3和4之前添加一个If Condition activity

enter image description here

使用波纹管表达式在If条件表达式中过滤星期日和星期几:

@equals(dayOfWeek(utcnow()),'0')

从当前UTC时间获取星期几,然后与返回整数(星期日为0)进行比较。

将“复制活动” 3添加到“有效”,将“复制活动”添加到“错误”。

所有复制活动项将按照以下规则运行:

  1. 星期一至星期六:将激活激活的1,2,3。
  2. 星期天:将激活激活的1,2,4。

希望这会有所帮助。

答案 1 :(得分:0)

我尝试在每个星期六使用@equals(dayOfWeek(utcnow()), '6')来触发我的管道,但是失败了。因为dayOfWeek(utcnow())的返回值是int,所以我将其更改了@equals(dayOfWeek(utcnow()), 6)并可以正常工作。

dayOfWeek()返回值列表

  • 周日:0
  • 星期一:1
  • 星期二:2
  • 星期三:3
  • 星期四:4
  • 星期五:5
  • 星期六:6