这是我在这里的第一个职位,所以原谅我,如果我在错误的地方。
我正在Azure Synapse中运行Map数据流来查询ITGlue的REST API。它只返回一页结果,而不是所有结果。
下面是我正在查询的端点:https://api.itglue.com/configurations
以下是该端点的响应正文(为了保持简短,将其截断):
{
"data": [
{
"id": "1234567",
"type": "configurations",
"attributes": {
......
},
"relationships": {
"adapters-resources": {
"data": []
}
}
}
],
"meta": {
"current-page": 1,
"next-page": 2,
"prev-page": null,
"total-pages": 1000,
"total-count": 1000,
"filters": {}
},
"links": {
"self": "https://api.itglue.com/configurations?page%5Bnumber%5D=1&page%5Bsize%5D=1",
"next": "https://api.itglue.com/configurations?page%5Bnumber%5D=2&page%5Bsize%5D=1",
"last": "https://api.itglue.com/configurations?page%5Bnumber%5D=1714&page%5Bsize%5D=1"
}
}
以下是我认为ITGlue的相关配置:
Dataset source options
据我所知,这是分页规则的正确语法。我唯一能认为把这搞砸的是“next”链接中的字符,它们是http编码的[和]字符。
此处此端点的IT Glue API文档确认了这一点-使用第[number]页。
以前有人遇到过这个问题吗?
以下是我在Azure Synapse中尝试使用分页规则的结果--全部失败(数据流仅返回一页数据)
1.绝对网址-正文- {links.next}(如图)
1.绝对网址-links.next
1.绝对网址-正文- $.{links.next}
1.绝对URL-正文-['链接']['下一个']
1.绝对URL-无-正文。{links.next}
1.绝对网址-无-body.links.next
1.查询-页面%5B编号%5D-正文- { meta数据下一页}
1.查询-页面[编号] -正文- { meta.下一页}
当使用Postman或Powershell Invoke-RestMethod
测试此行为时,它似乎工作正常。
1条答案
按热度按时间ukqbszuj1#
我尝试在我的环境中使用您的API重现您的场景,但遇到一些错误,因此尝试使用我的示例API。
我的示例API返回如下响应,
在分页规则中,我将AbsoluteUrl值指定为
body._links.next.href
,在文档格式中,我将其指定为Document per line
。通过以上设置,我可以从我的示例API中检索所有页面。
在您的API中,分页应该如下所示
输出