如何从 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
输出:
定义一个Array类型变量Array1
并赋值["DST_1","DST_2","DST_3","DST_4"]
。
在ForEach1
activity处,我们可以添加动态内容 @variables('Array1')
来遍历这个数组。
在ForEach1
activity里面,我们可以使用Copyactivity通过表达式@concat('xx56585/',item(),'/',substring(adddays(utcnow(),-3),0,10),'/')
复制动态路径下的文件。
我的当前日期是 2020-03-29
所以我在上面的步骤中使用 adddays(utcnow(),-3)
得到 2020-03-26
。
就这些了。
我的文件夹结构如下,
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
输出:
定义一个Array类型变量
Array1
并赋值["DST_1","DST_2","DST_3","DST_4"]
。在
ForEach1
activity处,我们可以添加动态内容@variables('Array1')
来遍历这个数组。在
ForEach1
activity里面,我们可以使用Copyactivity通过表达式@concat('xx56585/',item(),'/',substring(adddays(utcnow(),-3),0,10),'/')
复制动态路径下的文件。我的当前日期是
2020-03-29
所以我在上面的步骤中使用adddays(utcnow(),-3)
得到2020-03-26
。
就这些了。