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

如何通过ADF删除Azure Gen2数据湖中超过5天的文件夹

解决方案:ADF删除数据湖中超期快照文件夹

步骤1:获取目标目录下的所有子项

  • 创建Get Metadata活动,配置数据集指向路径 snapshot/tablename/
  • 在活动的Field list中勾选Child items,确保能获取该目录下的所有文件和文件夹

步骤2:筛选超期文件夹

  • 添加Filter活动,将Items设置为 @activity('Get Metadata').output.childItems
  • 设置筛选条件为:
    @and(equals(item().type, 'Folder'), lessThan(parseDateTime(item().name, 'yyyyMMddHHmmss'), addDays(utcNow(), -5)))
    
    逻辑说明:先筛选出类型为文件夹的项,再将文件夹名称(yyyyMMddHHmmss格式)转换为UTC时间,判断是否早于当前UTC时间前5天。

步骤3:批量删除超期文件夹

  • 添加ForEach活动,将Items设置为 @activity('Filter').output.value
  • 在ForEach循环内添加Delete活动:
    • 配置数据集的动态路径为 @concat('snapshot/tablename/', item().name)
    • 将Delete活动的Delete behavior设置为Delete recursively,确保删除文件夹及其下所有嵌套文件/子文件夹

关键排查点

  • 验证Get Metadata输出:查看运行日志,确认childItems中包含目标文件夹
  • 日期格式匹配:确保parseDateTime的格式字符串yyyyMMddHHmmss与文件夹名称的时间格式完全一致
  • 权限检查:ADF服务主体需拥有数据湖存储账户的Storage Blob Data Contributor(或更高)权限,确保能执行删除操作
  • 数据集配置:若使用ADLS Gen2,Linked Service需正确配置托管标识或密钥,路径动态表达式无语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:22:38