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

Azure Data Factory复制活动仅复制1条记录问题求助

问题分析与解决方案

1. JSON根节点配置错误

很多REST API返回的JSON结构是外层对象包裹数据数组(比如{"data": [{}, {}, ...]}),如果ADF的REST数据集没有指定正确的根节点,会把整个外层对象当成单条记录,而非数组里的每条元素。

  • 解决方案:
    打开REST数据集的「连接」选项卡,找到「JSON路径表达式」,输入对应的数据数组路径(比如$.data,根据实际API返回结构调整),让ADF识别到需要遍历的数组节点作为数据源。

2. 未配置分页规则

部分API默认分页返回数据(比如每页1条),Postman可能自动处理了分页跳转或者你在Postman请求中指定了全量参数,但ADF默认不会自动分页。

  • 解决方案:
    在复制活动的「源」选项中,启用「分页」功能,根据API的分页机制选择对应模式:
    • 如果API通过URL参数分页(比如?page=1&pageSize=100):选择「URL分页」,设置起始页码、增量、终止条件(比如当响应中没有下一页标识时停止)。
    • 如果API在响应体中返回下一页链接(比如{"nextLink": "xxx"}):选择「响应体分页」,配置提取nextLink字段的路径作为下一页请求地址。

3. 请求参数不一致

ADF发送的请求与Postman存在差异(比如缺少limit/pageSize参数、header参数不同),导致API仅返回单条记录。

  • 解决方案:
    对比ADF调试日志中的请求详情(复制活动运行日志的「输入」标签可查看实际发送的URL、headers、body),确保和Postman的请求完全一致:
    • 检查query参数是否包含指定返回条数的参数(比如limit=1000)。
    • 核对headers中的认证信息、Content-Type等是否与Postman一致。

4. JSON格式识别错误

ADF的数据集可能将响应识别为「单个对象」而非「对象数组」,导致只读取一条记录。

  • 解决方案:
    在REST数据集的「格式」选项卡中,将「JSON类型」设置为「对象数组」,确保ADF正确解析数组中的每条元素。

排查技巧

启用ADF管道调试,查看复制活动的「统计信息」:

  • 如果「读取的行数」显示为1:问题出在数据源读取阶段,按上述1-3点排查。
  • 如果「读取的行数」显示为900+但「写入的行数」为1:检查Synapse sink的配置(比如是否存在主键冲突导致数据被覆盖,或者写入模式设置错误)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:30:53