Azure Synapse/ADF中Copy Activity调用REST API分页问题求助
Azure Synapse/ADF Copy Activity REST API 分页解决方案
核心问题分析
你之前使用AbsoluteUrl.{nextLink}规则报错,是因为API返回的odata.nextLink是相对路径,并非完整绝对URL,不符合该规则的要求。同时,下一页URL需要额外拼接&$format=json参数,需调整分页规则配置。
具体配置步骤
1. 调整REST数据集配置
- Base URL:设置为API的基础路径
https://MyAPI.com/API/ - Relative URL:填入初始请求的相对路径
TableName?$orderby=Field1,Field2,Field3&$format=json
2. 配置Copy Activity的分页规则
在Copy Activity的源设置中,找到分页选项,添加以下规则:
- Rule key:选择
RelativeUrl.{nextLink}(该规则会基于Base URL拼接相对路径生成完整请求URL) - Rule value:使用表达式拼接格式参数,填入
concat($."odata.nextLink", "&$format=json")
3. 验证配置逻辑
- 初始请求:Base URL + Relative URL =
https://MyAPI.com/API/TableName?$orderby=Field1,Field2,Field3&$format=json,完全匹配你的需求 - 分页请求:每次从响应中提取
odata.nextLink(如TableName/?$orderby=...&skiptoken=...),拼接&$format=json后作为新的Relative URL,结合Base URL生成完整的下一页请求
注意事项
- 确保JSON路径
$."odata.nextLink"正确对应响应中的字段(因为字段名含小数点,必须用引号包裹) - 无需使用Web Activity循环,Copy Activity会自动处理分页直到
odata.nextLink不存在
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

