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

djp7away  于 2022-12-27  发布在  其他
关注(0)|答案(2)|浏览(193)

我的文件夹结构如下,
集装箱/xx 56585/DST_1/2021年3月26日/xxxxxxxx.csv
集装箱/xx 56585/DST_1/2021年3月26日/xxxxxxxx.ctl
集装箱/xx 56585/DST_2/2021年3月26日/年
容器/xx 56585/DST_2/2021年3月26日/年
集装箱/xx 56585/DST_3/2021年3月26日/zzzzzzz.csv
集装箱/xx 56585/DST_3/2021年3月26日/zzzzzzzzz.ctl
集装箱/xx 56585/DST_4/2021年3月26日/ssssssssss.csv
集装箱/xx 56585/DST_4/2021年3月26日/ssssssssss.ctl
我需要将.csv和.ctl文件复制到sFTP目标,并将这些文件移动到实现文件夹(复制活动后在blob存储中)
请你帮我一下

vq8itlhq

vq8itlhq1#

    • 更新日期:**

我们可以使用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.定义一个数组类型变量Array1并赋值["DST_1","DST_2","DST_3","DST_4"].

1.在ForEach1活动中,我们可以添加动态内容@variables('Array1')来遍历这个数组。

1.在ForEach1活动中,我们可以使用Copy活动通过表达式@concat('xx56585/',item(),'/',substring(adddays(utcnow(),-3),0,10),'/')将文件复制到动态路径下。

1.我的当前日期是2020-03-29,因此我在上述步骤中使用adddays(utcnow(),-3)来获取2020-03-26

就这样。

w51jfk4q

w51jfk4q2#

我认为我们可以在复制活动之前添加过滤活动,在其中我们可以使用子字符串函数并查找文件名是否包含**.ctl.csv**

相关问题