历史版本27 :数据接收-简道云表单推送(Beta) 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:
[helpvideo]10543[/helpvideo]

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本功能变动
4.2.8.4数据服务功能可实时接收简道云推送的数据,解析后写入数据库
4.2.9.4数据接收支持写入 GaussDB 100
4.2.11.2可以不部署 Kafka、配置传输队列,提供内存队列
4.2.11.3
  • 数据接收支持写入:KingBaseES(Oracle模式)、SelectDB

  • 数据去向为 SelectDB 时,目标表支持设置表类型

1.2 应用场景

用户使用 简道云输入 算子将表单数据落库,为确保数据时效性给定时任务设置了分钟级的执行频率,但由于简道云表单数据并非频繁更新,导致定时任务出现无效执行的情况。

用户希望仅在表单数据发生变更时才触发数据同步,避免无意义的任务执行。

1.3 功能简介

数据服务模块提供简道云数据接收功能,当简道云表单数据变化(增删改)后,可通过已发布的数据接收接口,将表单数据实时同步到数据库中。如下图所示:

注:支持写入的数据库类型:Oracle 、MySQL 、SQL Server 、PostgreSQL、达梦数据库、GaussDB 100

1753362220797224.png

1.4 前提条件

1)该功能受数据服务(基础)和应用系统(实时)功能点控制,用户可联系技术支持进行试用(技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」)。

如有使用意向,请填写链接申请免费试用:数据接收意向使用客户收集表

2)简道云和 FineDataLink 工程需要能互相连通或支持做内网穿透。

3)需要配置一个简道云数据连接

4)4.2.11.2 之前版本,必须部署 Kafka、配置传输队列;4.2.11.2 及之后版本,可以根据实际情况选择「内存队列还是消息队列中间件。详情请参见:传输队列类型说明

1.5 注意事项

1)删除简道云表单数据时,若同时删除多条不会进行数据推送操作,只有删除单条时才会推送

2)简道云推送失败后会额外重试 4 次,所以在 FineDataLink 中会显示 5 条调用记录。

38.png

3)若目标库为低版本 Oracle(例如 Oracle 11g),由于 Oracle 数据库特性原因,简道云删除数据后,FineDataLink 无法显示准确的删除行数(仅影响执行详情展示,不影响目标库实际结果)。

2. 示例编辑

2.1 场景模拟

「报名表」表单中包含子表单,现希望仅在表单数据发生变更时,触发数据同步,主表和子表数据分别同步到对应的数据库表中。表单数据如下图所示:

14.png

2.2 简道云表单准备

建议为简道云表单设置字段别名,否则接入到 FineDataLink 中时会使用字段原始名,不便于在 FineDataLink 中进行业务处理。详情请参见:设置字段别名

2.3 新建简道云数据接收 API

1)进入 FDL 工程,点击「数据服务,新建一个数据接收 API 。如下图所示:

12.png

2)接收方式选择「简道云表单推送」。如下图所示:

13.png

2.4 服务内容(数据接收)

2.4.1 数据来源

1)点击来源简道云解析右侧的「配置按钮,选择待下云的简道云表单。如下图所示:

1753260293729084.png

2)若简道云表单包含子表单,新增「子表单处理设置项,可选择:以字段输出、以子表输出。

以字段输出:

若选择子表以字段输出,点击「下一步按钮后,界面如下图所示:

1753260522568235.png

该界面中,支持删除字段;其中不支持删除主表 id 字段。

点击右上角的「解析预览按钮,可发现子表数据以 JSON 格式保存在 information 字段中。如下图所示:

17.png

以子表输出:

若选择子表以子表输出,点击「下一步按钮后,界面如下图所示:

1753260757161699.png

该界面中,支持删除字段。其中:

  • 主表中:不支持删除主表 id 字段。

  • 子表中:不支持删除子表 id字段,不支持删除主表 pid 字段。

可发现子表数据单独输出,后续可单独输出到一张目标表中。如下图所示:

1753260856830172.png

3)选择待下云表单后,界面如下图所示:

1753263060849002.png

点击「编辑按钮,自动进入第二步解析生成字段」界面。如下图所示:

1753263205381918.png

2.4.2 数据去向

接下来需要设置目标表及字段映射。如下图所示:

注:支持写入的数据库类型:Oracle 、MySQL 、SQL Server 、PostgreSQL、达梦数据库、GaussDB 100、SelectDB、KingBaseES(Oracle模式)。。

注:简道云表单中的数字控件经 FDL 解析后,来源表字段类型为 decimal(36, 8) ,建议自动建表时修改目标表中对应字段的类型为 double 或者 int,否则写入的数字数据会显示为 12.00000000 样式。

23.png

目标表类型:

默认选择已存在表;可点击「新建目标表」按钮,在目标数据库中自动建表(数据连接用户需要有当前库的执行权限)。

注:若目标数据库为 SelectDB,允许选择的表类型为:主键模型(Unique Key)- 写时合并、主键模型(Unique Key)- 读时合并。

1)点击「新建目标表按钮后,输入目标表名称(支持输入表描述),将自动获取来源表的字段名和类型填入:

支持添加字段;_id 字段默认为主键;支持设置其他字段为主键

28.png

2)点击「下一步按钮后,再点击执行建表按钮,将在目标数据库中新建表:

1753345765834476.png

3)建表成功后,字段映射中自动选择新建的表,根据新建表字段自动生成映射。

_id 字段自动填入到主键映射中。

62.png

字段映射方式:

可选择同名映射、同行映射,详情请参见:数据同步-数据去向与映射

字段映射:

1)主表:_id 字段不可取消映射。

2)子表:_id 字段、_pid 字段不可取消映射。

2.4.3 高级配置

1753346278986977.png

数据写入有两个过程:接收到数据后先把数据存入到 Kafka,再把 Kafka 中的数据进行写入。

注:「消息队列中间件」按钮关闭时,不支持该功能。

按钮状态
说明
开启

调用发布的 API 时,监控数据是否通过该接口入库成功:

API 接口将先进行数据缓存,等待数据入库操作完成后,返回入库结果

注:简道云超时时间很短仅有 5 秒,该按钮开启后会等待较长时间,一般情况下建议关闭该按钮

关闭

接收到数据且数据缓存进 Kafka 后进行通知,监控数据是否通过该接口推送成功:

  • API 接口将直接返回数据缓存结果,再执行数据入库操

  • 数据入库是否成功的结果不进行返回

2.4.4 参数和变量

64.png

参数和变量
说明
inputJDYJSONString调试值默认为空
返回变量调用该 API 后,返回的参数

2.5 API接口配置

65.png

2.5.1 基础属性

设置项
说明
请求方式只支持选择 POST
路径
配置要发布的API路径。

API路径不允许重复。

默认为空,支持指定英文、数字、下划线(_)、连字符(-)、正斜杠(/);不支持以正斜杠(/)开头和结尾

例如以下完整的API请求路径示例:

http://192.168.5.175:8089/webroot/service/publish/应用ID/demo

注1:service前的部分为发布API所在的当前 FineDataLink 服务器地址

注2:应用ID是API被绑定应用的ID,详情参见绑定API至应用

超时时间
填写响应超时时间,如果在指定时间后仍没有返回查询结果,则接口返回超时错误

默认10000ms,必填

已授权应用

用户可在创建 API 时将其添加至授权应用,同时在 API 测试阶段可直接测试 API 调用情况

同时可以将 API 任务批量添加至多个有权限的应用下

详情请参见:绑定API至应用

API 若想被调用必须绑定应用

2.5.2 接口请求

注:Query 禁用。

设置项
说明
请求 Body 格式
只支持 application/json
Body 整体绑定
默认开启且禁止关闭

2.5.3 接口响应

66.png

1)展示调用 API 后返回的数据格式(JSON 格式)。

2)反映异常信息按钮:默认勾选且不可关闭,接口异常信息将反映在 HTTP 状态码上。如下图所示:

1754485805365982.png

3)支持用户自动调整返回的数据格式;点击快捷生成按钮,下拉框中可选择自动生成按JSON模板生成,详细说明请参见:JSON生成 文档

4)点击「测试调用」按钮,调整 Body 值,会触发数据库实际执行操作;测试调用时,会校验传输队列是否配置成功,若未配置,无法使用测试调用功能。

2.6 API 上线

点击「保存」按钮或者「保存并上线」按钮生成 API。

若配置不完整,点击「保存并上线」按钮将报错,但可以点击「保存」按钮保存已有配置。

若存在未写入完成的数据,点击「下线按钮这些数据将被舍弃。

1753347539190944.png

2.7 绑定 API 至应用

API 若想被调用必须绑定应用。

用户可在本文 2.6 节步骤中给 API 绑定应用,或者 2.7 节结束后,参考 绑定API至应用 给 API 绑定应用。

注:若本文 2.8 节设置数据推送步骤中,生成了 Secret,应用认证方式需要选择「简道云推送认证

2.8 调用 API

1)打开需要下云的简道云表单,点击「扩展功能>数据推送>新建数据推送,输入已发布的 API 地址后,设置推送事件,点击「保存按钮即可。如下图所示:

注:数据推送中,推送事件只支持有数据提交时、有数据被修改时、有数据被删除时。

63.png

2)「报名表」表单中新增数据,如下图所示:

1753354332916935.png

3)主表「报名表数据如下图所示:

8.png

子表「报名明细表数据如下图所示:

9.png