【问题标题】:Azure Data Factory - REST API Call PaginationAzure 数据工厂 - REST API 调用分页
【发布时间】:2022-01-02 23:47:22
【问题描述】:

我正在调用数据工厂中的数据并努力调用“next_page”项中的 url。

这是第一个 API 调用返回的示例:

{
"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"

}

我不确定在我的复制活动的分页规则中使用哪些选项。

目前我正在尝试使用值为“$['next_page']”的选项“AbsoluteURL”,但这只会返回一个错误。

【问题讨论】:

    标签: json api pagination azure-data-factory


    【解决方案1】:

    如果您的 API 响应包含下一页 URL 属性,则“AbsoluteUrl”分页规则是在 Azure 数据工厂中加载下一页的正确选项。

    MS document 中提到了分页规则支持的值。

    如上述文档中的示例所述,Facebook Graph API 将响应返回为,

    {
    "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 复制活动中的分页如下所示:

    在你的 API 中,分页应该是这样的

    【讨论】:

    • 这就像一个魅力。 “AbsoluteUrl”旁边的字段是红鲱鱼。谢谢!
    【解决方案2】:

    我也有类似的问题。我正在尝试从其余 API 复制 shopify 数据并能够获取第一页数据,但是我无法弄清楚如何设置分页。标题响应中的分页是这样的:

    我将它设置为这个,但这会返回一个错误:

    ADF 错误: 失败发生在“源”端。 ErrorCode=RestSourceCallFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=HttpStatusCode 404 表示失败。 请求网址: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 产品

    这就是链接在响应头中的样子

    https://joyfolie.myshopify.com/admin/api/2022-01/products.json?limit=50&page_info=eyJsYXN0X2lkIjo0NjI0ODcyMjEwNDkwLCJsYXN0X3ZhbHVlIjoiKk5FVyogQmFlIFNraXJ0IGluIE9jaHJlIiwiZGlyZWN0aW9uIjoibmV4dCJ9;相对=“下一个”

    【讨论】:

      猜你喜欢
      • 2022-06-20
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 2021-03-13
      • 2021-09-12
      • 2021-12-06
      相关资源
      最近更新 更多