0

我想每个月通过 Azure 数据工厂从网站中提取数据。有没有办法通过动态内容功能更改每个月的 URL 与月份名称?

{{静态 URL}}/TestFile_October_2020.zip

{{静态 URL}}/TestFile_November_2019.zip

{{静态 URL}}/TestFile_December_2020.zip

4

2 回答 2

1

我们可以在 ADF 管道中定义一个数组类型变量,如下
[{"id": 1,"Value": "January"},{"id": 2,"Value": "February"},{"id": 3,"Value": "March"},{"id": 4,"Value": "April"},{"id": 5,"Value": "May"},{"id": 6,"Value": "June"},{"id":7,"Value": "July"},{"id": 8,"Value": "August"},{"id": 9,"Value": "September"},{"id": 10,"Value": "October"},{"id": 11,"Value": "November"},{"id": 12,"Value":"December"}]

  1. 我们可以在前面定义几个变量。

在此处输入图像描述

  1. 然后我们可以 foreachArray变量。

在此处输入图像描述

  1. 在 ForEach 活动中,我们可以存储@item().value在变量中MonthString

在此处输入图像描述

  1. 然后在 If Condition 活动中,我们可以使用@equals(item().id,int(subString(utcnow(),5,2)))来选择当前月份的值。这里我们需要使用int()函数将字符串类型转换为int类型。

在此处输入图像描述

  1. 然后我们可以在 True 活动中设置一个 Web 活动。我们可以使用@concat(variables('BasicURL'),concat('/TestFile_',variables('MonthString')),concat('_',substring(utcnow(),0,4),'.zip'))来构建查询字符串。

在此处输入图像描述

  1. 输出如下:

在此处输入图像描述

如果你有 Azure SQL,你可以创建一个表来存储这个数组并使用查找活动来查找值,这会更容易。

于 2020-11-03T06:36:19.410 回答
1

您可以使用格式为“MMMM”的函数“formatDateTime”在动态内容中获取完整的月份名称。您可以参考相同的文档

于 2020-12-14T03:16:45.337 回答