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

如何在ADF管道中提取分页REST API的全部数据

批量获取REST API所有分页数据的方案

一、利用已知总记录数直接遍历分页

已知总记录约2700条,先优化每页请求条数(尽量设为API允许的最大值,比如100,减少请求次数),然后计算总页数:

总页数 = 向上取整(总记录数 ÷ 每页条数)
比如per_page设为100时,2700÷100=27页,直接循环请求page=1到page=27的接口。

请求URL示例(per_page=100时):

https://eu.api.XXXXXX.com/v1/users?page=1&per_page=100
https://eu.api.XXXXXX.com/v1/users?page=2&per_page=100
...
https://eu.api.XXXXXX.com/v1/users?page=27&per_page=100

注意:如果某一页返回空数组,直接终止循环,避免无效请求。

二、无总记录数时的通用终止策略(备用)

如果后续总记录数有变动,或者想兼容更通用的场景,可以用循环请求直到返回空数据的逻辑:

  • 从page=1开始发起请求;
  • 检查返回的JSON数组长度:
    • 如果数组长度等于设置的per_page值,说明还有下一页,继续请求下一页;
    • 如果数组长度小于per_page(或为空),说明已到最后一页,停止循环。

三、在数据复制活动中的具体实现

结合你已有的数据集和复制活动,按以下步骤配置:

  1. 定义一个变量存储当前页码,初始值设为1;
  2. 添加循环容器(比如Until循环),设置终止条件为「复制活动返回的数据集为空」;
  3. 在循环内配置复制活动,动态拼接API请求URL,比如用工具的变量表达式生成:
    https://eu.api.XXXXXX.com/v1/users?page=@{variables('currentPage')}&per_page=100
    
  4. 复制完成后,将当前页码变量加1;
  5. 确保复制活动的写入模式为追加,避免覆盖之前获取的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:07:03