如何从 Azure 数据工厂嵌套父文件夹下的子文件夹中获取文件?

How to get files from a subfolder present under nested parent folder in azure data factory?

我的文件夹结构如下,

Container/xx56585/DST_1/2021-03-26/xxxxxxxx.csv

Container/xx56585/DST_1/2021-03-26/xxxxxxxx.ctl

Container/xx56585/DST_2/2021-03-26/yyyyyyyyy.csv

Container/xx56585/DST_2/2021-03-26/yyyyyyyyy.ctl

Container/xx56585/DST_3/2021-03-26/zzzzzzzzz.csv

Container/xx56585/DST_3/2021-03-26/zzzzzzzzz.ctl

Container/xx56585/DST_4/2021-03-26/sssssssssss.csv

Container/xx56585/DST_4/2021-03-26/sssssssssss.ctl

我需要将 .csv 和 .ctl 文件复制到 sFTP 目标并将这些文件移动到实现文件夹(复制后在 blob 存储中 activity)

请帮我解决这个问题

更新:
我们可以使用 Get Metadata1 来检查 ctl 文件是否存在。 将动态内容 @concat('xx56585/',item(),'/',substring(adddays(utcnow(),-3),0,10),'/') 添加到路径中。


我创建了一个简单的测试来将 <rundate> 文件夹下的文件复制到目标文件夹。 我的文件夹结构

Input/xx56585/DST_1/2021-03-26/xxxxxxxx.csv

Input/xx56585/DST_2/2021-03-26/yyyyyyyyy.csv

Input/xx56585/DST_3/2021-03-26/zzzzzzzzz.csv

Input/xx56585/DST_4/2021-03-26/sssssssssss.csv

输出:

  1. 定义一个Array类型变量Array1并赋值["DST_1","DST_2","DST_3","DST_4"]

  2. ForEach1activity处,我们可以添加动态内容 @variables('Array1')来遍历这个数组。

  3. ForEach1activity里面,我们可以使用Copyactivity通过表达式@concat('xx56585/',item(),'/',substring(adddays(utcnow(),-3),0,10),'/')复制动态路径下的文件。

  4. 我的当前日期是 2020-03-29 所以我在上面的步骤中使用 adddays(utcnow(),-3) 得到 2020-03-26

就这些了。