在Azure Data Factory中进行带页参数的分页

后端开发 2026-07-10

我有一个API,其格式如下:

{

data: [<some data>],

    metadata:

    { 

        page: 1,

        size: 1000,

        total: 3128

    }

}

URL: {baseurl}/result?page=page

在这种情况下,最大页数应为4。页数可能会根据数据量而变化。

在拷贝数据时,我想在范围和结束条件中设置QueryParameter,但一旦API的分页超出边界,即达到5,API将返回无效的URL,从而导致拷贝数据失败。

这里有办法让分页在此处启用吗?是否可以让分页在size < total时自动停止,或有类似的解决方案?我想只输出一个文件,因此until/loop不是一个好的方法。

解决方案

先对API进行一次初始调用以获取1 条记录。这将给出元数据部分和总记录数。将其按你给定的分页大小进行划分。可选地把整数值分配给变量。在你的示例中:

3128 / 1000 = 3.13

将其向上取整到下一个整数(4),以得到所需的总页数。

@div(add(variables('intTotal'), sub(variables('intSize'), 1)), variables('intSize'))

然后在Copy Pagination部分的 RANGE 函数中使用它,类似如下:

restOfYourUrl&page=xpage
设置 表达式
QueryParameter xpage RANGE:1:@{variables('intMaxPages')}:1

我的管道看起来是这样的:

在此输入图片描述

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章