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

Azure Data Factory复制多文件到SFTP时按规则重命名的实现问题

Azure Data Factory 存储文件复制到SFTP并按规则重命名实现方案

Get Metadata活动的Child Items选项仅在关联的数据集指向文件夹时才会显示,若数据集配置为指定单个文件,该选项会自动隐藏。

具体实现步骤

  • 步骤1:调整源数据集配置,将Azure Storage对应的源数据集路径设置为待复制文件所在的父文件夹,不指定具体文件名。重新打开Get Metadata活动配置页,即可在字段列表中找到Child Items选项,勾选后活动运行时会输出该文件夹下所有文件的名称、类型等属性。
  • 步骤2:添加For Each活动,在活动的Items配置栏输入表达式@activity('Get Metadata1').output.childItems,将上一步获取的文件列表作为循环项。可按需勾选「顺序执行」控制文件处理顺序,不勾选则默认并行处理。
  • 步骤3:在For Each活动内部添加Copy活动,分别配置源和目标端:
    • 源端:沿用调整后的Azure Storage数据集,在源设置的「文件名」栏输入表达式@item().name,指定每次循环读取当前遍历到的文件
    • 目标端:选择已配置的SFTP数据集,在目标设置的「文件名」栏输入动态表达式生成符合规则的新文件名,你提供的命名规则对应的表达式如下:
      @concat('PPP.AAA01.TSTCCC1.', if(contains(item().name, 'Data'), 'Data', 'Layout'), '.D', substring(item().name, add(length(item().name), -6), 6))
      

替代方案

若调整数据集后仍无法正常使用Get Metadata活动,可使用Lookup活动替代实现文件列表获取:将Lookup活动的源数据集指向存储文件夹,设置为返回所有行,输出结果可直接作为For Each活动的循环项,功能与Get Metadata的Child Items完全一致。


内容的提问来源于stack exchange,提问作者Eric Clinkenbeard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:24:06