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

使用ADF获取ADLS Gen2中按时间戳命名的最新文件夹实现方法

仅使用Azure Data Factory(ADF)获取ADLS Gen2下最新时间戳文件夹的实现步骤

前提:已提前在ADF中配置好指向目标ADLS Gen2存储账户的链接服务,且时间戳文件夹命名格式为yyyyMMddHHmmss这类高位到低位的时间格式(年>月>日>时>分>秒)。

步骤1:配置获取子文件夹的元数据活动

  • 在ADF管道中拖入获取元数据活动,命名为GetChildFolders
  • 活动关联的数据集选择指向ADLS Gen2 RootFolder路径的数据集
  • 在活动的「字段列表」配置项中,添加子项(Child Items)属性,运行后该活动会输出RootFolder下所有文件、文件夹的名称与类型列表

步骤2:过滤保留纯文件夹对象(可选)

如果RootFolder下可能存在非文件夹对象,增加这一步过滤:

  • 拖入过滤活动,与GetChildFolders活动建立成功依赖连接
  • 过滤的「项目」输入填入表达式:@activity('GetChildFolders').output.childItems
  • 过滤的「条件」输入填入表达式:@equals(item().type, 'Folder'),运行后只会保留子项中的文件夹

步骤3:计算最新时间戳文件夹

  • 先在管道的「变量」标签页新增一个字符串类型变量,命名为LatestTimestampFolder,默认值留空
  • 拖入设置变量活动,与过滤活动(未加过滤则直接接GetChildFolders活动)建立成功依赖连接
  • 变量选择LatestTimestampFolder,值根据是否做了过滤填入对应表达式:
    • 已做文件夹过滤:@max(select(activity('FilterFolders').output.value, item().name))
    • 未做过滤(确认RootFolder下只有时间戳文件夹):@max(select(activity('GetChildFolders').output.childItems, item().name))

步骤4:使用结果

管道调试运行后,LatestTimestampFolder变量的值就是最新的时间戳文件夹名称,后续流程可以直接引用该变量做文件读取、写入等操作。

特殊场景说明

如果你的时间戳命名不是高位到低位的格式,或者包含非数字字符,需要先通过ADF的字符串处理函数提取纯时间戳并调整为高位到低位格式,再做最大值计算。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:04