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

如何在Azure Data Factory中动态获取指定文件

在Azure Data Factory动态获取指定日期文件夹下的特定前缀文件

核心思路

借助ADF的动态内容、参数/变量,结合日期函数生成对应文件夹路径和文件名,精准定位目标文件。

具体操作步骤

1. 设置日期参数(或变量)

创建一个String类型的参数(比如命名为pTargetDate),格式设为yyyy/MM/dd,用来指定要获取的日期对应的文件夹路径。如果需要自动取当前日期或前一天,直接用动态表达式生成即可:

  • 取当前日期:@formatDateTime(utcNow(), 'yyyy/MM/dd')
  • 取前一天日期:@formatDateTime(addDays(utcNow(), -1), 'yyyy/MM/dd')

2. 拼接目标文件完整路径

在Blob存储数据集的文件路径和文件名中使用动态表达式,组合出目标文件的位置:

  • 文件夹路径:直接引用参数或动态日期表达式,例如 @pTargetDate
  • 文件名:将前缀与日期字符串拼接成jio_India_yyyyMMdd.csv格式,对应的表达式:
    @concat('jio_India_', replace(pipeline().parameters.pTargetDate, '/', ''), '.csv')
    
    逻辑是用replace去掉日期路径里的斜杠,转换成yyyyMMdd格式,再和前缀、后缀拼接。

3. 配置数据集与活动

  • 在Blob数据集的连接设置中,把文件路径和文件名设置为上述动态表达式。
  • 在复制活动(或其他读取文件的活动)中选择这个数据集,运行时会自动根据指定日期定位到对应文件夹和文件。

4. 测试验证

  • 手动将参数pTargetDate设为2022/01/01,检查是否能正确读取2022/01/01/jio_India_20220101.csv
  • 将参数改为2022/01/02,验证是否读取2022/01/02/jio_India_20220102.csv

可选优化

如果需要每日自动执行,在管道的触发器中设置每日触发规则,同时将参数默认值设为@formatDateTime(utcNow(), 'yyyy/MM/dd')(或前一天的表达式),实现无需手动干预的每日自动获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:05:01