Azure SynapseMap数据流- REST源数据集未从ITGlue API分页

aiazj4mn  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(112)

这是我在这里的第一个职位,所以原谅我,如果我在错误的地方。
我正在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测试此行为时,它似乎工作正常。

ukqbszuj

ukqbszuj1#

我尝试在我的环境中使用您的API重现您的场景,但遇到一些错误,因此尝试使用我的示例API。
我的示例API返回如下响应,

{{"_embedded":
.
.
.},
"_links":{
"first":{"href":"https://www.ebi.ac.uk/ols/api/ontologies?page=0&size=20"},
"last":{"href":"https://www.ebi.ac.uk/ols/api/ontologies?page=13&size=20"},
"next":{"href":"https://www.ebi.ac.uk/ols/api/ontologies?page=1&size=20"},
"self":{"href":"https://www.ebi.ac.uk/ols/api/ontologies"}},
"page":{"number":"0","size":"20","totalElements":"280","totalPages":"14"}},
"headers":{.......}

分页规则中,我将AbsoluteUrl值指定为body._links.next.href,在文档格式中,我将其指定为Document per line

通过以上设置,我可以从我的示例API中检索所有页面。
在您的API中,分页应该如下所示

输出

相关问题