反馈已提交

网络繁忙

API取数-以起始行数作为参数

  • 文档创建者:Wendy123456
  • 历史版本:4
  • 最近更新:Wendy123456 于 2023-12-20
  • 1. 概述

    注:本文方案适用于 4.1.3 之前版本,4.1.3 及之后版本请参见:API取数-金蝶云星空销售报价单

    1.1 应用场景

    从 金蝶 k3Cloud 系统接口 进行分页报表取数时,接口中没有提供页码参数,因此不能使用API取数-按页数取数方案。

    但是接口中会返回所取数据的总行数,且接口请求参数中有开始行索引参数(从哪一行开始取数)、返回行数限制参数。

    1701658338254382.png

    1701673262270473.png

    1.2 实现思路

    注:本文方案仅适用于新增数据。

    1701675668849197.png

    1.4 任务展示

    FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 「API取数-以起始行数作为参数」。

    2. 操作步骤

    2.1 场景模拟

    本文使用 数据服务发布的 API 接口模拟从金蝶云星空接口中取数,该接口返回值中包含所取数据总行数:

    1701676057451402.png

    且接口请求参数中有开始行索引参数(从哪一行开始取数)、返回行数限制参数:

    1701676086406188.png

    本文场景:从接口中取 20 条数据,每次取 10 条。

    2.2 获取来源端数据行数

    本文使用 数据服务发布的 API 接口模拟从金蝶云星空接口中取数。

    1)新建定时任务,拖入「参数赋值」节点,从接口中取数。如下图所示:

    1701659933195040.png

    点击「数据预览」,会看到返回结果中包含总行数。如下图所示:

    1701669448293298.png

    2)将返回数据中的总页数,输出为参数 rows_source 。如下图所示:

    1701661343701223.png

    2.3 获取目标表现有数据行

    获取目标表现有数据行,并输出为参数 rows_goal 。如下图所示:

    1701669639773264.png

    2.4 获取本次同步后所预期的目标数据量

    由于后续我们将使用「循环容器」节点循环取出接口的数据,循环执行条件为:预期的目标数据量(本节获得该参数)>已有的目标数据量(2.5.3 节获得该参数)。

    拖入参数赋值节点,将 2.1 节、2.2 节的参数值相加,获取本次同步后所预期的目标数据量,并输出为参数 totalrows(预期的目标数据量)。如下图所示:

    1701670474335216.png

    2.5 循环取出接口数据

    19.png

    2.5.1 获取目标表数据行数、本次循环的起始行号

    「循环容器」节点中拖入「参数赋值」节点,获取目标表的数据行数、本次循环的起始数据行号,并依次输出为参数 totalrows_goal、rows_start。如下图所示:

    1701671107279997.png

    2.5.2 接口取数

    根据 2.5.1 节输出的 rows_start ,从分页报表取数接口中取数。

    1)拖入「数据转换」节点,进入「数据转换」节点后,拖入「API输入」节点进行取数,每次取 10 条数据。如下图所示:

    本节使用 数据服务发布的 API 接口模拟用户实际场景中接口取数。

    1701671769243734.png

    2)点击「数据预览」。如下图所示:

    1701671855912489.png

    3)拖入DB表输出算子,将数据输出到目标数据表,写入方式选择追加写入数据。如下图所示:

    字段映射中,删除来源表字段:totalrows 。

    1701672042399282.png

    4)点击右上角保存按钮。

    2.5.3 获取目标表数据行数

    拖入参数赋值节点,获取目标表数据行数(已有的目标数据量),输出参数 totalrows_goal 。如下图所示:

    1701672672170795.png

    2.5.4 设置循环容器

    循环容器节点循环方式选择「条件循环」,执行条件设置为:totalrows(期的目标数据量,2.3节获得)>totalrows_goal(现实的目标数据量,2.5.3节获得。如下图所示:

    1701672833857078.png

    2.5 效果查看

    点击「保存并运行」按钮,任务运行成功后,会看到目标数据表中被写入 20 条数据。

    循环容器节点执行日志如下图所示:

    可看出执行了两次循环,每次写入 10 条数据。

    1701677052254451.png







    附件列表


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

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

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

    不再提示

    10s后关闭



    AI

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