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

Azure Data Factory:创建带tenure参数的归档管道及空文件问题排查

解决方法

1. 生成需归档的年份数组

先通过Set Variable活动创建一个数组变量,用来存储近tenure年的年份字符串(比如tenure=3时生成["2022", "2023", "2024"]):

  • 变量类型选择数组
  • 变量值使用以下表达式:
range(addYears(utcNow(), -pipeline().parameters.tenure + 1), pipeline().parameters.tenure, 'yyyy')

2. 用ForEach循环遍历每个年份

将ForEach活动的Items属性设置为刚才生成的年份数组变量,循环内依次执行复制文件和删除源文件操作。

3. 修正Copy Data活动的路径参数

源数据集配置

  • 根文件夹固定为Source
  • 文件名参数设置为 @{item()}/A.csv,确保精准定位到对应年份文件夹下的目标CSV文件,而不是把年份文件夹本身作为复制对象。

目标数据集配置

  • 根文件夹固定为Archive
  • 文件名参数设置为 @{item()}/A.csv,保证归档后文件结构和源目录一致。

4. 添加Delete Activity清理源文件

在Copy Data执行成功后,用Delete Activity删除Source目录下的对应文件:

  • 删除路径设置为 Source/@{item()}/A.csv

问题根源

之前生成空文件是因为参数化时直接将年份字符串作为文件名(如@{item()}),Copy Data活动会把这个路径当成文件去复制,但实际该路径是文件夹,最终生成空文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:20:03