最新历史版本 :發佈API概述 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:
[helpvideo]8636[/helpvideo]

目录:

1. 概述编辑

1.1 版本

FineDataLink版本
功能变动
4.0.20.1支持的API发布的数据库版本:MySQL、Oracle、PostgreSQL、SQLServer、Greenplum(包含并行装载)
4.1.8.2数据服务支持读取神通数据库
4.1.11.5配置方式选择选表时,若选择了指定数据表,界面展示表所在数据库或者模式
4.1.13.2配置方式为「选表」时,支持选字段


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

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

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

  • 支持Doris\Impala\TiDB\星环数据源 注:Doris在作为数据源时,需要使用 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 详情页增加返回值展示

1.2 应用场景

用户需要把上游数据采集、加工好以后,存到指定数据库,希望将这些数据封装成 API 接口,供下游系统调用。

1.3 功能说明

FineDataLink 支持将处理好的数据库中的数据通过 API 形式发布出去,供其他工具使用。

2. 约束限制编辑

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

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

例如使用 SQL 语句将 salary 字段进行排序。

3. 操作步骤编辑

新建一个 API 后,需要 3 步完成该 API 的设计:API 信息、发布内容及参数、预览测试。

3.1 API 信息

24.png

API的请求路径、请求格式、返回格式等基本信息说明如下所示:

配置项
说明
名称

配置API名称。

API名称不允许重复。

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

描述

配置API描述。

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

请求方法

请求方法。

当前支持 POST、GET 。

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

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

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

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

请求Body格式请求方式选择POST时展示

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

  • application/json

  • application/x-www-form-urlencoded

默认选择「application/json」。

路径

配置要发布的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.2 发布内容及参数

20.png

3.2.1 配置方式

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

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

1)SQL

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

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

1706685364106431.png

2)选表

1729133379709709.png

设置项
说明
来源表

选择来源表,不能为

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

选部分字段

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

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

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

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

10.png

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

表描述

显示表备

不支持该功能的数据库:

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

数据过滤
  • 可为空

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

  • 支持引用各类参数

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

  • 不支持写 limit 语句

3.2.2 请求参数配置

请求参数配置说明如下:

列表项目
说明
参数名

请求参数名。

参数名称不可重名。

默认为空,必填。

参数类型

请求参数类型。

  • 字符串

  • 数字

  • 布尔值

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

参数必填

配置当前参数是否必填。

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

默认值

参数非必填时做非空校验

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

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

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

描述

为参数添加描述。

默认为空。

3.2.3 返回值配置

注1:4.1.6.4 及之后版本,「查询预览」按钮更新为「返回值配置」。

注2:可不点击「获取」按钮获取返回值,不影响 API 的正常使用;但若不获取,导出的 API 文档中,该 API 的返回内容不完整。

若 SQL 语句中配置了参数:

1)「请求参数配置」中自动获取参数,返回值配置中点击获取按钮,获取返回参数。如下图所示:

21.png

获取的返回值如下图所示:

22.png

说明如下:

  • 不允许修改字段名和类型;支持为字段添加描述。

  • 字段名支持搜索。

  • 点击「刷新并预览」按钮,可重新获取返回值。

若 SQL 语句中未配置参数:

请求参数配置」中提示:根据查询SQL自动获取返回值配置中点击获取按钮,获取返回参数。

1711592128463042.png

3.3 预览测试

25.png

项目列表
说明
测试应用

选择测试API调用时使用的应用

如果没有绑定应用,则此配置灰化不可选

测试调用

输入 Body 测试值或者 Params 测试值进行接口调试,测试调用情况

3.4 绑定 API 至应用

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

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

3.5 API 上线

API列表展示所有API信息,选择指定的API ,可查看基本信息和API 的内容以及参数。

在右上角点击「上线」,即可发布 API,如下图所示:

1711592725590805.png

4. 扩展阅读编辑

分类说明参考文档

发布 API

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

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

发布API-多值查询 

发布API-查询NULL值数据

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

使用发布的 APIAPI 发布后,使用示例

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

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

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

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

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

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

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

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