Azure 数据工厂 - REST API 调用分页
Azure Data Factory - REST API Call Pagination
我正在数据工厂中调用数据,但很难调用“next_page”项中的 url。
这是第一个 API 调用 returns 的示例:
{
"items": [
{
"title_one": "TTL-55924",
"id": "CPT-TTL-64577_TTL-55924",
"title_id": "TTL-64577"
},
{
"title_one": "TTL-69015",
"id": "CPT-TTL-79755_TTL-69015",
"title_id": "TTL-79755"
}
],
"next_page": "http://api.com/api/info?offset=5000&key=XXXxxxXXXxxx"
}
我不确定在我的副本的分页规则中使用哪些选项activity。
目前我正在尝试值为“$['next_page']”的选项“AbsoluteURL”,但这只是 returns 一个错误。
如果您的 API 响应包含下一页 URL 属性,那么“AbsoluteUrl”分页规则是正确的选项在 Azure 数据工厂中加载下一页。
此 MS document 中提到了分页规则支持的值。
如上述文档中的示例所述,Facebook Graph API returns 响应为,
{
"data": [
…
…
],
"paging": {
…
…
},
"previous": "https://graph.facebook.com/me/albums?limit=25&before=NDMyNzQyODI3OTQw",
"next": "https://graph.facebook.com/me/albums?limit=25&after=MTAxNTExOTQ1MjAwNzI5NDE="
}
}
注意:JSON路径表达式的分页值以“$”开头。
您在 REST 副本 activity 中的分页如下所示:
在您的 API 中,分页应该类似于
我有类似的问题。我正在尝试从其余 API 复制 shopify 数据并能够获取第一页数据,但是我不知道如何设置分页。分页出现在 header 响应中,如下所示:
我已经将它设置为这个,但是这个 returns 是一个错误:
ADF 错误:
'Source' 端发生故障。 ErrorCode=RestSourceCallFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=HttpStatusCode 404 表示失败。
请求 URL:https://joyfolie.myshopify.com/admin/api/2021-07/%3Chttps://joyfolie.myshopify.com/admin/api/2021-07/products.json?limit=50&page_info=eyJsYXN0X2lkIjo0NjI0ODcyMjEwNDkwLCJsYXN0X3ZhbHVlIjoiKk5FVyogQmFlIFNraXJ0IGluIE9jaHJlIiwiZGlyZWN0aW9uIjoibmV4dCJ9%3E;%20rel=%22next%22
响应负载:{"errors":"Not Found"},Source=Microsoft.DataTransfer.ClientLibrary,'
来源
管道
复制 Shopify 产品
这就是 link 在响应中的样子 header
https://joyfolie.myshopify.com/admin/api/2022-01/products.json?limit=50&page_info=eyJsYXN0X2lkIjo0NjI0ODcyMjEwNDkwLCJsYXN0X3ZhbHVlIjoiKk5FVyogQmFlIFNraXJ0IGluIE9jaHJlIiwiZGlyZWN0aW9uIjoibmV4dCJ9; rel="下一个"
我正在数据工厂中调用数据,但很难调用“next_page”项中的 url。
这是第一个 API 调用 returns 的示例:
{
"items": [
{
"title_one": "TTL-55924",
"id": "CPT-TTL-64577_TTL-55924",
"title_id": "TTL-64577"
},
{
"title_one": "TTL-69015",
"id": "CPT-TTL-79755_TTL-69015",
"title_id": "TTL-79755"
}
],
"next_page": "http://api.com/api/info?offset=5000&key=XXXxxxXXXxxx"
}
我不确定在我的副本的分页规则中使用哪些选项activity。
目前我正在尝试值为“$['next_page']”的选项“AbsoluteURL”,但这只是 returns 一个错误。
如果您的 API 响应包含下一页 URL 属性,那么“AbsoluteUrl”分页规则是正确的选项在 Azure 数据工厂中加载下一页。
此 MS document 中提到了分页规则支持的值。
如上述文档中的示例所述,Facebook Graph API returns 响应为,
{
"data": [
…
…
],
"paging": {
…
…
},
"previous": "https://graph.facebook.com/me/albums?limit=25&before=NDMyNzQyODI3OTQw",
"next": "https://graph.facebook.com/me/albums?limit=25&after=MTAxNTExOTQ1MjAwNzI5NDE="
}
}
注意:JSON路径表达式的分页值以“$”开头。
您在 REST 副本 activity 中的分页如下所示:
在您的 API 中,分页应该类似于
我有类似的问题。我正在尝试从其余 API 复制 shopify 数据并能够获取第一页数据,但是我不知道如何设置分页。分页出现在 header 响应中,如下所示:
我已经将它设置为这个,但是这个 returns 是一个错误:
ADF 错误: 'Source' 端发生故障。 ErrorCode=RestSourceCallFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=HttpStatusCode 404 表示失败。 请求 URL:https://joyfolie.myshopify.com/admin/api/2021-07/%3Chttps://joyfolie.myshopify.com/admin/api/2021-07/products.json?limit=50&page_info=eyJsYXN0X2lkIjo0NjI0ODcyMjEwNDkwLCJsYXN0X3ZhbHVlIjoiKk5FVyogQmFlIFNraXJ0IGluIE9jaHJlIiwiZGlyZWN0aW9uIjoibmV4dCJ9%3E;%20rel=%22next%22 响应负载:{"errors":"Not Found"},Source=Microsoft.DataTransfer.ClientLibrary,' 来源 管道 复制 Shopify 产品
这就是 link 在响应中的样子 header
https://joyfolie.myshopify.com/admin/api/2022-01/products.json?limit=50&page_info=eyJsYXN0X2lkIjo0NjI0ODcyMjEwNDkwLCJsYXN0X3ZhbHVlIjoiKk5FVyogQmFlIFNraXJ0IGluIE9jaHJlIiwiZGlyZWN0aW9uIjoibmV4dCJ9; rel="下一个"