You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在ADF中实现数据流源与接收器路径动态配置

在Azure Data Factory中实现动态路径的多文件夹CSV同步处理

核心方案

通过ADF的元数据活动获取源容器下的子文件夹清单,配合ForEach遍历+动态参数,自动映射源与目标的对应子文件夹路径,实现批量处理。

分步实现

1. 配置带参数的数据集

  • 分别创建源、目标两个Blob存储数据集,均指向对应的存储账户
  • 给源数据集添加SourceFolder参数,将其文件夹路径设为@dataset().SourceFolder;给目标数据集添加TargetFolder参数,文件夹路径设为@dataset().TargetFolder
  • 示例:源数据集完整路径会自动拼接为container/@{dataset().SourceFolder},目标为stagecontainer/@{dataset().TargetFolder}

2. 获取源容器的子文件夹列表

  • 添加Get Metadata活动,关联源数据集,设置要获取的字段为Child items
  • 将源数据集的SourceFolder参数留空(或设为根路径/),确保能抓取容器下所有子文件夹(如test1subfolder、test2subfolder)

3. 遍历子文件夹执行处理

  • 添加ForEach活动,将Items属性设为@filter(activity('Get Metadata活动名称').output.childItems, @equals(item().type, 'Folder'))——只遍历文件夹,排除文件
  • 在ForEach内部添加Copy Data活动(如需数据转换,替换为Data Flow):
    • 源端:选择源数据集,将SourceFolder参数赋值为@item().name(当前遍历的子文件夹名)
    • 目标端:选择目标数据集,将TargetFolder参数赋值为@item().name,确保目标路径与源路径的子文件夹名完全对应
    • 若用Data Flow处理,可将文件夹名作为参数传入,适配不同表的处理逻辑

4. 验证与调试

  • 调试管道时,查看ForEach的迭代参数,确认源、目标路径是否正确映射
  • 运行后检查阶段容器,确认对应子文件夹已生成且处理后的CSV文件正确写入

注意事项

  • 如果子文件夹有多层嵌套,可在Get Metadata中开启递归,或结合Lookup活动获取全层级文件路径
  • 若不同子文件夹(表)需要差异化处理,可在ForEach内添加Switch活动,根据文件夹名分支执行不同逻辑

内容的提问来源于stack exchange,提问作者Developer Rajinikanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:01:24