反馈已提交

网络繁忙

发布API概述

  • 文档创建者:Roxy
  • 历史版本:65
  • 最近更新:Wendy123456 于 2025-05-27
  • 1. 概述

    1.1 版本

    FineDataLink版本
    功能变动
    4.0.20.1支持的API发布的数据库版本:MySQL、Oracle、PostgreSQL、SQLServer、Greenplum(包含并行装载)
    4.2.0.3

    1)「发布内容及参数步骤中,获取返回值后

    • 右键点击字段值,出现复制按钮,可复制字段值

    • 若字段值过长,支持拖拽调整列宽;鼠标悬浮字段值上,显示完整字段值

    2)配置方式为 SQL 时,Greenplum、YMatrix、GaussDB 数据源,支持指定字段排序

    3)配置方式为选表时,所有数据源均支持指定字段排序

    4.2.4.3新建数据服务与新建定时任务的交互统一
    4.2.6.1AnalyticDB MySQL 数据源适配返回值排序功能
    4.2.6.2

    1)API列表Tab名称变更为服务列表」;新建API变更为新建接口服务

    2)创建 API 步骤更新为 2 个:服务内容(数据查询)、API接口配置

    3)支持控制单次请求数据量

    4)支持自定义开启查询分页及对应的参数

    5)支持自定义请求参数和返回数据的数据结构

    6)去掉返回值配置设置项

    7)只要 API 配置完整,上线状态和下线状态都支持调试


    查看历史版本更新
    FineDataLink 版本功能变动
    4.0.26非超级管理员支持使用数据服务
    4.1
    • 支持指定多级API路径,在API信息配置页面,「路径」支持指定:英文、数字、下划线(_)、连字符(-)、正斜杠(/)

    • 支持发布API时直接绑定应用

    • 支持发布API时进行应用配置测试

    • 支持Doris/Impala/TiDB/星环数据源 注:Doris、Impala在作为数据源时,需要使用 ORDER BY 语句指定有效的排序字段,否则将无法正常分页,影响后续使用接口取数

    4.1.2

    支持 StarRocks、GaussDB、MaxCompute 数据源

    注:StarRocks 在作为数据源时,需要使用 ORDER BY 语句指定有效的排序字段,否则将无法正常分页,影响后续使用接口取数

    4.1.3支持直接选表同步数

    支持 DB2 数据源

    4.1.5.4「发布内容及参数」步骤中,配置方式选择选表时,显示表备注
    4.1.6.1API管理、调用记录Tab,被挪到任务运维>数据服务
    4.1.6.3

    支持 GBase8s、KingbaseES、ClickHouse、HANA、达梦、Vertica 数据

    API任务、数据服务应用禁止被多人同时编辑

    4.1.6.4
    • API 支持导出接口文档,详情请参见:导出API说明文

    • 「发布内容及参数」步骤中,增加返回值配置

    • API 详情页增加返回值展示

    4.1.8.2数据服务支持读取神通数据库
    4.1.11.5配置方式选择选表时,若选择了指定数据表,界面展示表所在数据库或者模式
    4.1.13.2配置方式为「选表」时,支持选字段

    1.2 应用场景

    • 企业安全规范要求,不允许直连业务库,代码开发接口效率低,人工传输易出错。

    • 缺乏安全的数据共享机制,随着数据消费端增加,IT 出现重复造轮子的倾向。

    1.3 功能说明

    FineDataLink 支持将处理后的数据库数据以 API 接口形式发布,便于其他系统或工具调用。

    2. 约束限制

    1)使用「数据服务」的前提条件和其他约束限制请参见:数据服务概述

    2)若使用 Doris、StarRocks、impala 作为发布的数据源,需要指定有效的排序字段,否则将无法正常分页,影响后续使用接口取数。

    方案
    步骤

    方案一:使用 ORDER BY 语句指定有效的排序字段

    4.2.6.2 及之后版本,若开启「分页查询」按钮(返回数据实现分页效果),需要做此操作

    23.png

    24.png

    方案二:4.2.0.3 及之后版本,可设置返回值排序

    4.2.6.2 及之后版本,若开启「分页查询」按钮(返回数据实现分页效果),需要做此操作

    22.png

    3. 操作步骤

    新建一个 API 后,需要 2 步完成该 API 的设计:服务内容(数据查询)、API接口配置。

    3.1 新建 API

    进入 FDL 工程,点击「数据服务」,在有权限的路径下新建接口服务,设置 API 所在路径及名称后,点击确定按钮。如下图所示:

    2.png

    各设置项介绍如下表所示:

    设置项
    说明
    所属目录支持修改
    名称

    配置 API 名称

    API 名称不能重名,不能为空

    默认为空,最大长度 50 字符,必填

    描述

    配置 API 描述

    默认为空,最大长度 100 字符,非必填

    3.2 服务内容(数据查询)

    3.png

    3.2.1 配置方式

    配置方式设置项中可选择SQL、选表。

    注:4.1.3 及之后版本,新增「选表」功能,支持直接选表同步数据。

    1)SQL

    通过 SQL 语句从源数据库的表中查询取数,且支持引用参数,参数的具体介绍请参见:参数概述

    用户可选择指定的数据库,并在该数据库下搜索需要的数据表,然后写入右侧 SQL 输入框,如下图所示:

    4.png

    2)选表

    7.png

    设置项
    说明
    来源表

    选择来源表,不能为

    4.1.11.5 及之后的版本配置方式选择选表时,若选择了指定数据表,界面展示表所在数据库或者模式

    选部分字段

    4.1.13.2 及之后版本,支持选择部分字段

    1)选字段时若全选字段,后续该表新增的字段,不会被当成选中的状态

    2)未选的表字段,在数据过滤功能中,可被联想出来

    3)已被选择的字段,若希望取消选择,有两种方案:

    8.png

    4)返回值配置中,仅展示已选的字段

    表描述显示表备

    不支持该功能的数据库:

    ClickHouse、Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks

    数据过滤
    • 可为空

    • 可过滤来源表的数据,内容为:使用所选数据库的语法编写 WHERE 条件语句(无需填写 WHERE 关键字)

    • 支持引用各类参数

    • 支持联动参数值;支持联动数据表中字段

    • 不支持写 limit 语句

    3.2.2 返回值排序

    4.2.0.3 及之后版本,返回值配置中点击获取按钮后,支持指定排序字段和排序规则。

    9.png

    说明如下:

    1)应用场景:

    数据服务 API 发布的接口,用户调用时(比如分页取数时),希望取出或预览的数据根据某个字段有序排列。

    2)配置方式为 SQL 时,Greenplum、YMatrix、GaussDB、AnalyticDB MySQL 数据源,支持指定字段排序;配置方式为选表时,所有数据源均支持指定字段排序。

    3)可指定单个字段作为排序字段;也可指定多个字段作为组合排序字段(需要区分排序优先级)。

    4)排序规则可选择:升序、降序,默认为升序。

    5)生效方式:排序字段勾选后,点击「刷新并预览」/「下一步」即触发生效。若修改后,也是「刷新并预览」/「下一步」重新生效。

    3.2.3 单次请求量

    4.2.6.2 及之后版本支持该功能。

    可控制单次请求数据量。

    默认值为 10000,可修改,上限为100000 条;示例:单次请求量设置为 10 ,实际取数单次有 12 条,调用 API 后,只能取出 10 条。

    3.2.4 分页查询

    4.2.6.2 及之后版本支持该功能。

    1747289891532564.png

    1)默认开启,可以关闭:

    按钮是否开启应用场景效果
    开启在查询返回的数据总量比较大的情况下,建议分页(多次取完所有数据);可以提高数据库查询效率、降低数据服务内存占用、确保返回 Body 大小在安全范围内调用生成的 API 后返回数据可实现分页的效果
    不开启在查询返回的数据总量比较小的情况下,可以不分页(一次取完所有数据),这样可以减少取数次数,比较简单调用生成的 API 后,返回数据不分页

    2)开启「分页查询」按钮后,会自动生成 3 个流程参数:pageNum、pageSize、returnTotalNum,自动输出 4 个流程变量:totalNum、pageSize、pageNum、rowCont。

    11.png

    流程参数说明如下表所示:

    若「分页查询」按钮开启&参数设置为必填,其他系统或工具调用生成的 API 时,需要填入这些参数。

    调用 API 时使用参数示例:
    26.png
    参数
    类型参数必填按钮默认值
    pageNum(页编号)数值默认开启

    当「参数必填按钮关闭时,可配置默认

    12.png

    pageSize(单页大小)数值默认开启参数必填按钮关闭时,可配置默认
    returnTotalNum(是否返回总数)布尔默认关闭(可开启)

    默认值为 true

    参数必填按钮关闭时,可配置默认

    流程变量说明如下表所示:

    其他系统或工具调用生成的 API 时,返回的数据中会包含流程变量数据。

    调用 API 后参数返回示例
    1747307157984830.png
    参数
    类型说明
    totalNum数值返回取出数据的总数据条数,当请求参数 returnTotalNum 的值为ture时返回数据,否则值为空
    pageSize数值返回取出数据的每页数据条数
    pageNum数值数据页数,即从第几页开始取
    rowCont数值

    当前页数包含的数据条数

    与 pageNum 页数有关。比如一共12条数据,传入的pageNum是2,pageSize是10。实际会查询第二页的数据,实际返回2

    3.2.5 参数和变量

    若「配置方式」(本文 3.2.1 节)步骤中,设置了参数,服务入参中自动显示设置的参数。如下图所示:

    13.png

    设置项
    说明
    参数名请求参数名

    参数名称不可重名

    默认为空,必填

    参数类型请求参数类型。
    • 字符串

    • 数字

    • 布尔值

    注:对于日期类型参数标识为字符串,使用字符串形式传入,格式举例:【yyyy-MM-dd HH:mm:ss】

    参数必填配置当前参数是否必填

    如果没有勾选必填,则要求默认值配置项不能为空

    默认值参数非必填时做非空校验

    配置当前参数的默认值,参数配置为「非必填」时需要填写默认值

    当参数配置非必填,没有传参的情况下:取默认值作为参数值,默认值可以是对应类型的任何值,默认值可以为NULL

    注:参数是否必填,是针对实际API调用传参过程的,在进行预览和测试时,参数还是必须填完整

    描述

    为参数添加描述

    默认为空

    3.2.6 流程变量

    其他系统或工具调用生成的 API 时,返回的数据中会包含流程变量数据。

    14.png

    参数
    说明示例
    code流程运行结果的代码28.png
    message流程运行结果的信息输出
    output其他系统或工具调用生成的 API 后,取出的数据(建议勾选「对外输出」按钮

    3.3 API 接口配置

    15.png

    3.3.1 基础属性

    各设置项说明如下表所示:

    设置项
    说明
    请求方式
    当前支持 POST、GET 

    POST 通过 Body 传入参数,GET 通过 URL 传入参数(QueryParam)

    传入参数 QueryParam 时的参数说明如下:

    • 参数格式:QueryParam 将参数以键值对的形式附加在URL的查询字符串部分。每个键值对由等号(=)连接参数名和参数值,不同的键值对之间使用与号(&)分隔。

    • 参数位置:QueryParam的参数出现在URL的问号(?)之后,直到URL结束或遇到哈希标记(#)为止。示例:http://example.com/api?param1=value1&param2=value2#position。

    路径配置要发布的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 若想被调用必须绑定应用

    3.3.2 请求参数

    1)请求 Body 格式说明:

    请求方式选择 POST 时展示。

    选择请求的 Body 格式(其实就是请求Content-Type):

    • application/json 不能处理带有编码格式的Content-Type,例如application/json; charset=UTF-8

    • application/x-www-form-urlencoded

    默认选择「application/json」。

    2)不同场景说明:

    • 其他系统或工具调用生成的 API 时,需要输入请求参数;请求参数根据 3.2.5 节中「服务入参」的变动而变动。

    • 对于必填的服务入参」(3.2.5 节中的参数,若不被绑定,则调试和运行时报错。

    场景
    说明
    请求方式为POST请求Body格式为 application/x-www-form-urlencoded

    16.png

    支持修改参数名

    请求Body格式为 application/json

    17.png

    1)自动生成 JSON 格式,允许用户调整(逻辑参考JSON生成,允许添加多个子数组)

    2)点击「快捷生成」按钮,下拉框中可选择自动生成按JSON模板生成,详细说明请参见:JSON生成 文档

    请求方式为GET-

    18.png

    支持修改参数名

    3.3.3 接口响应

    19.png

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

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

    3)输入 Body 测试值或者 Params 测试值进行接口调试,测试调用情况。如下图所示:

    20.png

    3.4 API 上线

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

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

    4.2.6.2 及之后版本,新增测试调用按钮,无论 API 是否上下线,都支持调试操作;若 API 配置不完整,该按钮不可用。

    21.png

    3.5 绑定 API 至应用

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

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

    3.6 调用 API

    1)API 发布后,调用说明文档请参见:

    使用数据服务发布的API(GET 请求)

    使用数据服务发布的API(POST application/json请求)

    使用数据服务发布的API(POST x-www-form-urlencoded请求)

    2)完整的 API 路径获取方式:

    29.png

    4. 扩展阅读

    分类说明参考文档

    发布 API

    注:4.1.6.3 及之后版本,API任务、数据服务应用禁止被多人同时编辑。详情请参见:任务禁止被多人同时编辑

    数据服务支持使用简单身份认证及加密身份认证调用数据服务API,可根据需要选择摘要签名认证方式
    外部系统调用时开通黑白名单,可保证发布的 API 接口在被外部系统调用时更安全配置API黑白名单
    发布包含参数的 API

    发布API-多值查询 

    发布API-查询NULL值数据

    发布API-参数为空查询全部

    对已经发布的 API 进行管理对发布的 API 进行任务管理、运行监控和任务监控,查看调用情况、批量上下线 API 等服务运维
    数据服务最佳实践

    某公司旗下各个地区有多个分公司和分店,且使用的同一套业务系统

    业务数据会全部汇总到总部的数据库内,分店只能在业务系统上看到特定的分析和数据,无法实现自定义分析

    总部希望对数据进行分权限管控:总部按照地区提供数据,一个地区分店和分公司只能看到自己地区的数据,不允许看到其他地区的数据,各地区自行获取数据后在不同工具中进行数据分析和使用

    使用数据服务对数据进行分发管控
    用户希望将 FineBI 中的数据发布为 API ,供其他系统使用使用FineBI公共数据发布API





    附件列表


    主题: 数据服务
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

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