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

在ADF映射数据流中捕获Blob存储中的文件夹名称

提取Azure Blob文件夹名称并加载至SQL表的解决方案

针对你用派生列组件无法获取Blob文件夹名称的问题,以下几种实用方案可以解决:

方案1:从Blob源直接获取文件路径元数据

  • 在Azure Data Factory(ADF)的数据流Blob源配置中,找到并勾选包含文件路径(部分版本显示为Include file path)选项。启用后,源数据集会自动新增FilePath字段,该字段包含完整的Blob文件路径(格式类似your-container/your-folder/sub-folder/filename.csv)。
  • 接着在派生列组件中,使用字符串拆分函数提取目标文件夹名称。根据你的路径层级调整表达式:
    • 如果文件夹是路径中的第二层(如container/folder/file.csv),表达式为:FolderName = split(FilePath, '/')[1]
    • 如果文件在子文件夹下,要取倒数第二层(即文件所在的直接文件夹),表达式为:FolderName = split(FilePath, '/')[length(split(FilePath, '/'))-2]
    • 可以通过派生列的预览功能验证结果,调整索引值适配你的实际路径结构。

方案2:通过管道参数传递固定文件夹名

  • 如果是按特定文件夹批量处理文件,可在管道层面定义参数TargetFolderName,触发管道时传入目标文件夹的名称。
  • 在数据流中创建同名参数,将管道参数的值映射到数据流参数。之后在派生列组件中直接引用该参数,比如:FolderName = @pipeline().parameters.TargetFolderName。此方案适合预先知道处理文件夹的场景。

方案3:获取元数据活动配合数据流传递文件夹信息

  • 在管道中添加获取元数据活动,连接到目标Blob存储,配置获取Child items类型的元数据,筛选出需要处理的文件夹或文件。
  • 遍历元数据结果时,从每个文件的Path属性中解析出文件夹名称,将其存入变量。随后在调用数据流时,将该变量作为参数传递进去,最后在派生列中使用这个参数值填充新增列。

注意事项

  • 确保Blob源的路径配置符合预期,若使用通配符路径(如your-container/*/*.csv),FilePath字段会准确返回每个文件的完整路径。
  • 若路径中包含特殊字符,可使用replace函数先清理后再进行拆分操作,避免解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:54:58