如何使用查询参数在 Azure 数据工厂中执行分页

问题描述 投票:0回答:1

我正在尝试从 Typeform API 检索数据,默认情况下它只能返回 1000 个响应。要超越此限制并获得超过 1000 个响应,需要发送带有 before/after 参数以及令牌的 API 请求。

API 请求如下所示:

https://api.typeform.com/forms/Na5du3oD/responses?page_size=1000&after``<token>
在这里,令牌是您想要的特定响应集的标识符。

在 Azure ADF 的上下文中,可以实现分页,但挑战在于令牌存在于请求正文中。

API响应结构如下:

{
    items: [
        {
            'token': <token>
        }
    ]
}

URL: <hostname>/forms/Na5du3oD/responses?page_size=1000&after={offset}

现在有两个问题需要解决:

如果使用查询参数分页,可以利用body来设置偏移值。但是,由于令牌是嵌套数组的一部分,因此将值设置为 $.items[0]['token'] 成为一个挑战,并且将其作为正文传递是不可行的。

token值是作为API的响应获取的,那么如何将空值作为偏移量传递呢?

寻求有关如何实现此目标或任何潜在解决方法的指导。非常感谢您的帮助。

我尝试使用值为 $.items[0]['token'] 的查询参数进行响应。但 ADF 不支持!

azure rest pagination azure-data-factory
1个回答
0
投票

token值是作为API的响应获取的,那么如何将空值作为偏移量传递呢?

据我所知,您的分页问题是由于在第一个答案之前无法获取值。

enter image description here

在查询参数规则中,{after} 周围的 { } 告诉它在数据集或链接服务中查找替换位置。如果我们排除 { } 并使用

after
,根据我的理解,一旦可以填充值,它应该添加到查询参数字符串旁边。由于您正在使用 body,因此直到第二次调用才会填充它。

另请参阅: REST api 分页规则帮助

© www.soinside.com 2019 - 2024. All rights reserved.