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

Azure Data Factory ForEach活动重复复制问题:如何仅复制11行数据?

解决Azure Data Factory中ForEach循环重复复制全部数据的问题

你的问题出在ForEach循环内的Copy活动没有针对当前迭代项做数据过滤,每次都读取Lookup返回的完整数据集,导致11次循环每次插入11条数据,最终得到121条重复数据。按以下步骤修改即可:

  • 配置ForEach迭代项:确保ForEach活动的Items属性设置为@activity('你的Lookup活动名称').output.value,这样循环会逐条遍历Lookup输出的11条数据。

  • 修改Copy活动的数据源过滤逻辑:

    • 如果你的Copy活动源是SQL类数据源(比如和Lookup同数据源),在源的查询或筛选条件中,用当前循环项的唯一标识字段过滤数据。例如,假设每条数据的唯一标识是ID,则查询语句写为:
      SELECT * FROM 你的源表 WHERE ID = @item().ID
      
    • 如果Lookup已经返回了单条完整数据,也可以将Copy活动的源设置为内联数据集,直接把@item()作为源数据内容,这样每次循环仅处理当前这一条记录。
  • 确认Sink写入行为:根据需求将Azure SQL DB Sink的写入行为设置为Append(仅新增)或Upsert(需指定主键去重),确保数据不会因为重复写入产生额外条目(这一步是辅助,核心还是数据源的过滤)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:40:32