Azure Data Factory中Copy Activity无法从REST API复制数据求助
以下是针对该问题的具体排查步骤:
检查REST数据集的JSON路径配置
默认情况下ADF可能无法识别API返回的嵌套数组结构。进入REST数据集的「JSON路径设置」,将「文档形式」设置为「文档数组」,并指定正确的JSON路径(比如API返回格式为{"data": [{},{}]}时,路径设为$.data)。路径错误会导致ADF判定无可用数据行。验证分页配置
9MB的响应可能是多页数据总和,Postman会自动处理分页,但ADF需手动配置。在REST数据集的「分页」选项中,根据API的分页规则(如offset/limit、nextLink)设置对应参数。例如API响应包含nextPageUrl字段时,添加分页规则AbsoluteUrl对应$.nextPageUrl,确保ADF能遍历所有分页数据。核对字段映射与数据类型兼容性
进入复制活动的「映射」标签页,确认需复制的字段均已正确映射,且SQL表字段类型与API返回数据类型匹配。比如API返回的长字符串超出SQL列长度限制、日期格式不兼容等,都会导致数据被过滤;若完全未配置映射,也会出现复制行数为0的情况。检查网络访问权限
确认ADF使用的集成运行时(IR)可正常访问API:- 使用托管IR时,需将托管IR的出站IP加入API防火墙白名单;
- API需身份验证(如API Key、OAuth)时,确保ADF数据集的身份验证配置与Postman完全一致,无参数遗漏。
开启响应压缩解析
若API返回gzip压缩格式,Postman会自动解压,但ADF默认未开启该功能。在REST数据集的「HTTP请求设置」中,勾选「启用压缩」,确保ADF能正确解析压缩后的响应内容。关闭「跳过不兼容行」选项
若复制活动开启了「跳过不兼容行」,且所有数据行均存在兼容性问题,会导致复制行数为0。暂时关闭该选项后重新运行管道,若出现报错,可根据错误信息定位具体的字段或格式问题。
内容的提问来源于stack exchange,提问作者Being Real

