我们正在尝试使用Azure数据工厂使用REST API连接器从ServiceNow提取数据。
我们已尝试使用ADF中的特定ServiceNow连接器,但这对我们的目的来说效果不佳 - 我们需要使用实际值和显示值以及频繁的小负载,您无法过滤显示到位,因此速度太慢。
在简单的测试中,REST API工作正常,挑战特别围绕着分页。在初始GET请求之后,ServiceNow API以以下格式返回响应头中的相对链接;
Link →<url>;rel="first",<url>;rel="next",<url>;rel="last"
REST资源数据集具有分页规则的设置,文档表明可以处理 - https://docs.microsoft.com/en-us/azure/data-factory/connector-rest#pagination-support
此通用REST连接器支持以下分页模式:
当前响应头中的下一个请求的header =头值
我们无法弄清楚在分页规则键/值中放入什么,以便每次收到一页数据时导航到rel =“next”URL。
我们已经尝试了文档中描述的大多数选项 - 这样的东西似乎很接近:
{"paginationRules": {
"AbsoluteUrl": "Headers.['Link']"}
看起来Headers。['Link']部分是正确形成的,但不够具体。
有谁建议设置应该是什么使这项工作?
如果我的理解是正确的,你想从链接头中提取第3个<url>作为下一页的URL。链接→<url>; rel =“first”,<url>; rel =“next”,<url>; rel =“last”
在这种情况下,分页规则当前不支持诸如字符串提取之类的表达式。
使用REST api,您可以通过将此参数添加到链接来进行分页
&sysparm_offset=10000
如果您想要下限添加,则限制为默认值10000
&sysparm_limit=300
并相应地调整偏移量。