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

Azure Data Factory如何获取Azure Blob Storage中最新时间戳命名的文件夹

基于Azure Blob时间戳命名文件夹的最新目录获取方案(适配ADF流水线)

方案1:ADF原生活动实现(无额外依赖)

该方案无需引入额外Azure服务,直接通过ADF内置活动完成逻辑:

  • 首先使用Get Metadata活动,关联指向目标Blob容器的数据集(数据集无需指定具体路径,配置为二进制格式即可),字段列表选择Child items,如果容器下文件夹总数超过1000,需要在活动设置页开启Pagination选项拉取全量子项。
  • 新增Filter活动,输入绑定Get Metadata的Child items输出,过滤条件设置为@equals(item().type, 'Folder'),过滤掉子项中的文件,仅保留所有文件夹条目。
  • 提前在流水线变量中定义一个数组类型变量folderList,新增ForEach活动遍历Filter输出的文件夹列表,每次遍历执行@union(variables('folderList'), createArray(item().name))把所有文件夹名追加到数组中。
  • 新增Set Variable活动定义排序后的数组变量sortedFolderList,值设置为@sort(variables('folderList')),如果你的时间戳命名为yyyyMMddHHmmss/2024-05-20-12-30这类从左到右按年-月-日-时-分-秒单位排序的格式,字符串排序结果和时间先后顺序完全一致,排序后数组的最后一个元素就是最新文件夹。
  • 最终通过@last(variables('sortedFolderList'))即可获取最新文件夹名,直接传入后续复制活动/数据流处理该目录下的所有文件即可。

提示:如果你的时间戳命名是反向递减格式,排序后取数组第一个元素即可得到最新文件夹。

方案2:Azure Function预处理(适配复杂命名规则场景)

如果时间戳命名格式特殊,原生字符串排序无法匹配时间顺序,可通过该方案实现:

  • 编写Python/C#语言的HTTP触发Azure Function,代码逻辑为:通过Azure Storage SDK连接目标Blob容器,拉取所有文件夹名,把文件夹名转换为DateTime类型后排序,取最新文件夹名作为接口返回值。
  • 在ADF流水线中新增Azure Function活动调用上述接口,直接拿到返回的最新文件夹名即可开展后续处理,该方案资源消耗极低,成本几乎可忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:27:05