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

如何通过Azure Data Factory原生活动获取数据湖最新子文件夹路径?

仅用ADF基础活动获取Blob Storage最新文件夹路径方案

核心思路

利用ADF的Get Metadata、Set Variable、Filter、Sort等基础活动,基于你按year/month/day/hour/min/sec命名的时间序列文件夹结构,通过提取路径中的时间字符串并排序,直接筛选出最新路径。

具体步骤

1. 配置目标数据集

创建Blob Storage数据集,指向父目录 datasetname/fullload,开启递归选项,确保能获取所有层级的子文件夹。

2. 获取所有子项信息

添加Get Metadata活动,关联上述数据集,勾选Child Items选项,获取该目录下所有子项的路径与类型。

3. 筛选最终data文件夹路径

添加Filter活动,输入源为Get Metadata输出的childItems,设置筛选条件:

@equals(item().type, 'Folder') and endsWith(item().name, '/data')

(若ADF返回的路径不带末尾斜杠,调整为endsWith(item().name, 'data'))

4. 按时间维度排序路径

添加Sort活动,输入源为Filter的输出结果,排序规则选择自定义表达式:

@replace(replace(item().name, 'datasetname/fullload/', ''), '/data', '')

该表达式会将路径转换为year/month/day/hour/min/sec格式的字符串,设置排序方式为降序,排序后第一个结果即为最新时间对应的路径。

5. 存储最新路径到变量

添加Set Variable活动,创建字符串类型变量(如LatestFolderPath),变量值设置为:

@first(body('Sort')).name

若返回的是相对路径,可拼接父目录补全:

@concat('datasetname/fullload/', first(body('Sort')).name)

补充说明

  • 只要year/month等层级为数字格式,字符串排序结果与时间顺序完全一致,可直接使用;
  • 若文件夹层级有变动,只需调整Sort活动中的路径替换表达式即可适配。

内容的提问来源于stack exchange,提问作者Do Chi Bao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:30:02