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

如何在Azure Data Factory中批量提取各文件夹内最大文件并复制

解决Azure存储容器中按文件夹提取最大文件并复制的问题

内部流程处理(基于已有的Foreach遍历框架)

  1. 筛选当前文件夹内的最大文件
    在获取当前文件夹子项的Get Metadata活动完成后,添加一个Set Variable活动:

    • 创建字符串类型变量(例如var_largest_file),赋值表达式使用:
      @first(sort(activity('Get Metadata 子项').output.childItems, 'size', desc))
      
      该表达式会将当前文件夹的所有子文件按size降序排序,取第一个结果即为当前文件夹内最大的文件。
    • 注意:必须确保Get Metadata 子项活动的字段列表勾选了Child Items,才能获取到包含size属性的文件数组。
  2. 复制最大文件到目标文件夹
    添加Copy Data活动,配置如下:

    • 源数据集:路径表达式设为
      @concat(item().name, '/', variables('var_largest_file').name)
      
      其中item()代表Foreach循环中的当前文件夹对象,variables('var_largest_file').name是筛选出的最大文件名。
    • 目标数据集:指向目标Folder C,文件名可直接沿用原名称,或自定义(比如添加文件夹前缀:@concat(item().name, '_', variables('var_largest_file').name))。

关键注意事项

  • Foreach活动默认并行执行即可,除非存储账户有并发限制,无需开启Sequential模式。
  • 确保活动依赖关系正确:Get Metadata 子项执行完成后,再触发筛选和复制活动。
  • 若存在多个大小相同的最大文件,sort函数会按文件名排序取第一个,可根据需求调整表达式的排序规则。

内容的提问来源于stack exchange,提问作者Cyriel Lamerigts

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 12:34:52