反馈已提交

网络繁忙

API输入-分页取数

  • 文档创建者:Roxy
  • 历史版本:8
  • 最近更新:Wendy123456 于 2024-10-11
  • 1. 概述

    1.1 版本

    FineDataLink 版本
    功能变动
    4.1.3-

    1.2 应用场景

    需要使用 FineDataLink 取出 API 数据时,由于数据量限制或者接口响应时间,有时需要分页取数。

    1.2 功能说明

    FineDataLink 提供了 API 分页功能。

    在「参数赋值」「数据同步」「API输入」功能中,若选择数据来源为 API ,则可以在数据来源下的「高级配置」中勾选「分页取数」,根据接口设置的分页方式进行取数,如下图所示:

    2. 使用限制

    当前只支持返回值为 json 的 API。

    3. 功能说明

    所有分页方式的分页取数中,分页结束条件逻辑:先执行循环体,再判断是否终止循环。示例:假设页数 pageNum>=totalpages 时,停止执行,当 totalpages 为 8,pageNum 也为 8 时,会先执行 pageNum 为 8 的循环,再终止执行。

    维度
    说明
    取数限制

    限制分页取数的次数。

    • 默认为128

    • 不能为空,限制最大值为 10000

    • 当达到循环上限时,还未满足分页结束条件,也结束分页取数,并报错

    分页方式-页码

    参数

    • 只能在这个「API输入算子」内使用、为算子级参数、且同名优先级最高;

    • 在单次调取API结束后,再自增;

    • 用户可在 Query 参数和Body内的各种格式下使用,与常规的参数用法无差异;

    更新策略

    • 初始值:用户可配置初始值,默认为1,不能为空

    • 增长间隔:用户不能修改增长间隔,默认为1,不能为空

    用户配置起始值和增长间隔后,每次循环后执行自增动作,自增逻辑为:pageNum=pageNum+增长间隔

    分页结束条件

    • http status:本次循环的API返回 http status

    • JSONPath:本次循环的API返回body作为基础,在这个基础上通过写JSONPath获取信息(仅支持返回单个值,如果返回是数组或者JSON对象,也格式化为字符串);当响应体的jsonPath没有时,则取空

    • requestTimes:分页取数的循环次数,如果在循环容器中的API输入算子,该取数次数循环容器每次循环分开计数

    • pageNum:页码参数$pageNum

    注:值可以引用参数。

    分页方式-偏移量

    参数:

    • 只能在这个API输入算子内使用、为算子级参数、且同名优先级最高;

    • 在单次调取API结束后,再自增;

    • 用户可在Query参数和Body内的各种格式下使用,与常规的参数用法无差异;

    更新策略

    • 初始值:用户可配置初始值,默认为1,不能为空

    • 增长间隔:用户用可配置增长间隔,默认为20,不能为空

    用户配置起始值和增长间隔后,每次循环后执行自增动作,自增逻辑为:offset=offset+增长间隔

    分页结束条件

    • http status:本次循环的API返回 http status

    • JSONPath:本次循环的API返回body作为基础,在这个基础上通过写JSONPath获取信息(仅支持返回单个值,如果返回是数组或者JSON对象,也格式化为字符串);当响应体的jsonPath没有时,则取空

    • requestTimes:分页取数的循环次数,如果在循环容器中的API输入算子,该取数次数循环容器每次循环分开计数

    • offset:偏移量参数$offset

    注:值可以引用参数

    分页方式-游标游标:
    • 只能在这个API输入算子内使用、为算子级参数、且同名优先级最高;

    • 用于链式循环场景,每次循环后执行继承更新动作;

    • 用户可在Query参数和Body内的各种格式下使用,与常规的参数用法无差异;

    更新策略

    • 默认值:默认为空,用户可输入、允许为空、支持参数引用,

    • 游标参数更新:

      • 当响应体的jsonPath没有时,则取空

      • 用户可以使用本次循环的API返回的body作为基础,在这个基础上通过写JSONPath作为更新后的值(仅支持返回单个值,如果返回是数组或者JSON对象,也格式化为字符串)

      • 注:先判断分页结束条件,再执行游标参数更新。

    分页结束条件

    • http status:本次循环的API返回 http status

    • JSONPath:本次循环的API返回body作为基础,在这个基础上通过写JSONPath获取信息(仅支持返回单个值,如果返回是数组或者JSON对象,也格式化为字符串);当响应体的jsonPath没有时,则取空

    • requestTimes:分页取数的循环次数,如果在循环容器中的API输入算子,该取数次数循环容器每次循环分开计数

    • cursor:游标参数$cursor

    注:值可以引用参数

    勾选了分页取数后, API 数据源其他功能说明:

    功能说明
    重试若 API 输入分页取数单次执行调用API失败,没有重试逻辑,按整个数据转换节点重试
    调用频率控制在一个任务实例中,分页取数多次调用API受「调用频率控制」控制
    • json路径

    • 将解析后的json数据展开为二维表

    • 如果API节点只配置了分页取数,将每次取数获得的json拼成一个一列N行的二维表(该二维表只有一列 responseBody

    • 如果API节点本身配置了分页取数&Json路径,将每次取数获得相应路径下的json,拼成一个一列N行的二维表(该二维表只有一列responseBody)

    因为每次分页取数时获得 json 可能不一样,如果找不到相应json路径,则为空

    • 如果 API 节点本身配置了分页取数&Json 路径为「$.data」&勾选「将解析后的JSON数据展开为二维表」,将每次取数获得相应路径下 json 进行拆列,拼成一个N列N行的二维表

    因为每次分页取数时获得 json 可能不一样,每次将json展开二维表时,如果遇到新的属性,则新增列

    没有相关属性的分页取数,相关列为空

    返回值格式当响应体格式为 xml 时,不支持分页取数

    信息类型(参数赋值)

    • 响应体

    • 响应头

    • 状态码

    如果参数赋值同时解析响应体、响应头、状态码,将每次取数获得响应拼成一个N列N行的二维表

    4. 最佳实践

    分页方式:页码   API取数-按页数取数

    分页方式:偏移量  API取数-金蝶云星空销售报价单

    分页方式:游标  API取数-钉钉获取部门用户信息

    分页方式:页码+嵌套循环 API取数-慧策接口获取库存全量数据



    附件列表


    主题: 数据开发-定时任务
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持