历史版本36 :数据接收-简道云表单推送(Beta) 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:
icon提示:
满足下面场景时,请参考 历史文档 

1)场景一:4.2.18.1 之前的工程

2)场景二:同时满足下面两个条件

  • 目前已升级到 4.2.18.1 及之后版本,但升级前,4.2.18.1 之前版本的工程使用数据接收至少创建过 1 个 API

  • 创建数据接收 API 时,服务接收方式选择:配置地址并接收数据

其他场景请参见本文。

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本功能变动
4.2.18.1创建数据接收 API 时,无需配置数据来源和数据去向,仅是生成一个 API地址

1.2 应用场景

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

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

1.3 功能简介

1)数据服务功能中,发布数据接收 API 时,数据接收方式可选择「仅配置地址」,仅完成 API 接口配置,不进行数据写入。

43.png

2)实时任务中新增Webhook输入」算子,接入数据接收发布的「仅配置地址」的 API,当简道云表单数据变化(增删改)后,通过该接口将表单数据进行实时同步,在实时任务中经过数据处理后进行输出。如下图所示:

45.png

1.4 前提条件

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

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

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

4)需要根据实际情况选择「内存队列还是消息队列中间件。详情请参见:传输队列类型说明

1.5 注意事项

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

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

38.png

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

4)一个仅配置地址的数据接收 API,仅支持在一个实时任务中调用。

2. 示例编辑

2.1 场景模拟

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

14.png

2.2 简道云表单准备

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

2.3 新建数据接收 API

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

22.png

2.4 配置数据接收 API

注:右上角的服务接收方式说明请参见:服务接收方式必看

29.png

2.4.1 基础属性

设置项
说明
请求方式只支持选择POST
API路径配置要发布的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 若想被调用必须绑定应用;若本文 2.7.1  节设置数据推送步骤中,生成了 Secret,应用认证方式需要选择「简道云推送认证

1)用户可在创建API时将其添加到某个应用上

点击「添加按钮,可将 API 绑定到已有应用上;点击「添加按钮后,可再点击「去创建按钮新建应用,将该 API 绑定在新建应用上 

1778671739342668.png

2)或者创建 API 后,在应用列表Tab下,将 API 绑定在应用上(具体说明请参见:绑定API至应用);绑定应用后,可复制完整访问路径

26.png

2.4.2 接口请求

注:Query 禁用。

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

2.4.3 接口响应

66.png

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

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

27.png


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

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

2.4.4 高级配置

1753346278986977.png

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

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

按钮状态
说明
开启

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

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

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

关闭

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

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

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

2.5 API 详情页

点击「保存」按钮后进入 API 详情页。

该接口在实时任务的Webhook输入」算子中用到后,接口状态自动更改为上线;实时任务运行失败,接口状态自动更改为未上线。

28.png


2.6 绑定 API 至应用

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

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

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

2.7 调用 API

2.7.1 简道云表单配置

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

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

31.png

2)点击「字段对照表及JSON样例」,复制下 JSON 样例,便于在实时任务中使用。

30.png

2.7.2 配置实时任务

1)新建一个实时任务。

2)实时任务中拖入「Webhook输入」算子,调用 2.4 节配置的 API,样本设置处填写 2.7.1 节复制的 JSON 样例(便于在后续节点中查看效果),如下图所示:

32.png

点击「数据预览」,如下图所示:

33.png

3)拖入两个「JSON解析」算子,以及两个「DB表输出」算子,对简道云表单的主子表分别解析,进行处理后输出。

1778675327880823.png

4)「JSON解析」算子中解析子表数据,如下图所示:

1778676002714585.png

「JSON解析1」算子中解析主表数据,如下图所示:

36.png

5)根据实际情况配置「DB表输出」算子,将主子表数据输出,启动实时任务。

子表目标表:name和cource作为逻辑主键确定数据唯一性。

主表目标表:registration_number作为逻辑主键确定数据唯一性。

2.8 效果查看

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

1778676182152693.png

2)子表目标表数据如下图所示:

41.png

主表目标表数据如下图所示:

40.png