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

Azure Data Factory:如何将label字段或item().name传入Sink文件名Pattern

在Azure Data Factory中实现自定义输出文件名的解决方案

方法一:从文件名提取label生成目标文件名

由于你的源CSV文件名和其label列值完全一致,可按以下步骤配置:

  1. 在DataFlow源中捕获文件名
    打开DataFlow的源转换设置,勾选「列中的文件名」,指定列名(如source_filename),当前处理的文件名会被作为一列加入数据流。

  2. 派生label值
    添加「派生列」转换,用表达式去除文件名的.csv后缀得到label:

    replace(source_filename, '.csv', '')
    

    将派生列命名为label。

  3. 配置输出文件名Pattern
    在DataFlow的输出转换中,将「文件名选项」切换为「Pattern」,然后在Pattern字段输入表达式:

    concat(label, '_log.csv')
    

    这样输出文件就会自动生成has_stuff_log.csv这类格式。

方法二:直接传递ForEach的item().name到DataFlow

如果方法一无法满足需求,可直接利用ForEach循环的item().name构造文件名:

  1. 给DataFlow添加参数
    在DataFlow的「参数」面板创建字符串类型参数(如input_file_name)。

  2. ForEach中传递参数
    在ForEach循环的DataFlow活动配置里,将input_file_name的参数值设为item().name。

  3. 输出中使用参数生成文件名
    在输出转换的「文件名选项」选「Pattern」,输入表达式:

    concat(replace($input_file_name, '.csv', ''), '_log.csv')
    

    该表达式会先去掉源文件名的.csv后缀,再拼接_log.csv得到最终文件名。

关键注意事项

  • 确保ForEach循环的「项」是通过Get Metadata活动获取的Blob存储文件列表(子项)。
  • 若输出路径存在重复文件名风险,可额外添加日期或文件夹路径区分,避免文件覆盖。

内容的提问来源于stack exchange,提问作者Mr. Blond

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:42:42