1. 概述
1.1 版本
| FineDataLink 版本 | 功能变动 |
|---|---|
| 5.0.11.1 | 实时任务中新增「Webhook输入」算子 |
| 5.0.12.3 | 写入失败时,源端返回失败 |
1.2 应用场景
总部和分子公司之间跨系统传输/收集数据,需要提高时效性。
用户使用 FDL 的数据服务功能创建数据接收接口,将数据写入到数据库,发现无法对接收的数据进行处理,比如:
接收的数据为 JSON 格式,需要解析后才能使用。
接收的数据需要做一些处理例如汇总后才能使用。
用户希望对接收的数据处理后再入库。
解决方案一:此时如果使用定时任务接入数据库数据进行处理,会发现链路长,时效性低的问题,比如:
定时执行的时效性不够,执行间隔+执行时间达不到实时要求。
数据没有更新的时候,定时任务也会同步执行,会导致性能浪费。
部分系统例如简道云只能查询全量数据再比对,处理的数据量级很大,导致数据处理性能很慢。。
解决方案二:数据库开启实时数据获取>通过实时任务调用定时任务触发后续流程,会发现,使用了多个功能模块,交互复杂效率低下,增加了一个运维数据库的工作。
1.3 功能简介
1)数据服务功能中,发布一个 API:

2)与实时任务中的「Webhook输入」算子联合使用,实现调用接口后对数据进行处理再输出的效果。如下图所示:

1.4 前提条件&注意事项
1.4.1 前提条件
1)需要注册接口协议(实时)功能点、数据服务基础包功能点、实时任务相关功能点
2)集群工程,数据服务功能中必须开启「消息队列中间件」按钮。

1.4.2 注意事项
1)Webhook输入算子不支持 FlinkSQL;由于Webhook是仅插入流,无法获知到更新事件,针对部分计算可能会和预期不符。
2)实时任务中使用「Webhook输入」算子,FDL 工程重启后,实时任务会启动失败,需要用户手动重启下实时任务;该问题后续会优化。
3)5.0.12.3 之前版本,实时任务开启「脏数据容忍」,「Webhook输入」算子插入一条脏数据时,接口返回 succss,实时任务无异常报错,脏数据条数+1,源端会继续推送数据,造成数据丢失。如下图所示:
| 点击展开更多 |
![]() |
5.0.12.3 及之后版本,在 FineDB 的 fine_conf_entity 表中,新增参数WebhookReaderGlobalConfig.writeFailureHandleMode,值为RETURN_FAILURE_ACK,重启 FDL工程。
用户需谨慎修改 FineDB,建议联系技术支持协助修改;修改方案可参见:手动修改fine_conf_entity
此时,实时任务开启「脏数据容忍」,「Webhook输入」算子插入一条脏数据时,接口报错:50000,脏数据条数+1。
| 点击展开更多 |
![]() |
2. 功能说明
1)使用 数据接收功能 发布一个 API。
2)实时任务中拖入「Webhook输入」算子,调用数据接收 API:

| 设置项 | 说明 |
|---|---|
| 服务名称 | 下拉框中显示有权限的,服务接收方式为「仅配置地址」的 API |
| 样本设置 | 可填写调用该 API 时的 JSON 请求体,便于继续后续的数据处理流程以及在后续节点中预览处理效果 |
| 测试服务 | 功能同 数据接收 中的测试调用效果 可填入接口请求,调用接口;此处会实际调用接口写入数据 |
| 已绑定的应用 |
显示 API 绑定的应用数量,可点击,查看完整 API 路径,支持复制 API 路径 |
| 同步类型 | 不可修改,默认为「仅增量同步」 |
点击「数据预览」,查看取出数据:

可以根据实际情况拖入其他算子对数据进行处理。
