概述
版本
FineBI服务器版本 | 功能变更 |
---|---|
5.1 | - |
功能简介
本文讲解FineBI5.1中数据表相关接口。
注:直连对于分组和表的增删改查不通过API进行区分,额外添加一个参数即可。参数:engineType=direct
添加数据集-DB表
接口简介
接口作用 | 添加DB表 |
接口URL | /v5/api/table/add |
请求类型 | GET |
请求参数-Query参数
参数 | 参数值 | 是否必填 | 参数值 |
---|---|---|---|
bean | { "type": 1, "connectionName":"数据连接", "tableName":"数据库表名", "name": "数据集名称", "pack": "业务包ID", "initTime":0, "engineType":1, // 以下默认即可 "usedSpace":0.0, "editable":false, "selected":0, "movable":false, "comment":null, "memorize":false } 注:参数值格式为JSON,使用时需要进行编码 encodeURIComponent() | 是 | 1)type:表类型为1,代表DB表 2)connectionName:数据连接名称 3)tableName:数据库中的表名称 4)name:添加的数据集名称(建议使用“数据连接_数据库中的表名”这样的形式,作为唯一标识符) 5)pack:数据集所在业务包ID 6)initTime:初始化时间 7)engineType:引擎类型(1:直连数据;2:抽取数据) |
响应实例
请求示例 | 编码前参数值: {"type":1,"connectionName":"BI Demo","tableName":"客户跟踪表","name":"BIDemo_客户跟踪表","pack": "c9dcb29695ba4d77a71fed73ea259720","initTime":0,"engineType":2,"usedSpace":0.0,"editable":false,"selected":0,"movable":false,"comment":null,"memorize":false} 编码后参数值: %7B%22type%22%3A1%2C%22connectionName%22%3A%22BI%20Demo%22%2C%22tableName%22%3A%22%E5%AE%A2%E6%88%B7%E8%B7%9F%E8%B8%AA%E8%A1%A8%22%2C%22name%22%3A%22BIDemo_%E5%AE%A2%E6%88%B7%E8%B7%9F%E8%B8%AA%E8%A1%A8%22%2C%22pack%22%3A%22c9dcb29695ba4d77a71fed73ea259720%22%2C%22initTime%22%3A0%2C%22engineType%22%3A2%2C%22usedSpace%22%3A0%2C%22editable%22%3Afalse%2C%22selected%22%3A0%2C%22movable%22%3Afalse%2C%22comment%22%3Anull%2C%22memorize%22%3Afalse%7D 链接: http://172.17.0.25:37799/webroot/decision/v5/api/table/add?bean=%7B%22type%22%3A1%2C%22connectionName%22%3A%22BI%20Demo%22%2C%22tableName%22%3A%22%E5%AE%A2%E6%88%B7%E8%B7%9F%E8%B8%AA%E8%A1%A8%22%2C%22name%22%3A%22BIDemo_%E5%AE%A2%E6%88%B7%E8%B7%9F%E8%B8%AA%E8%A1%A8%22%2C%22pack%22%3A%22c9dcb29695ba4d77a71fed73ea259720%22%2C%22initTime%22%3A0%2C%22engineType%22%3A0%2C%22usedSpace%22%3A0%2C%22editable%22%3Afalse%2C%22selected%22%3A0%2C%22movable%22%3Afalse%2C%22comment%22%3Anull%2C%22memorize%22%3Afalse%7D&fine_auth_token=XXX 注:使用接口时需要登录,需要传递token参数。 |
响应成功 | callback(true) |
截图示意 |
添加数据集-SQL表
接口简介
接口作用 | 添加SQL表 |
接口URL | /v5/api/table/add |
请求类型 | GET |
请求参数-Query参数
参数 | 参数值 | 是否必填 | 参数值 |
---|---|---|---|
bean | { type: 2, connectionName: "BI Demo", name: "QQ", pack: "18d26ef06d1f4e91adaa12c80feb2daa", paramSetting: [], sql: "mLG5CuG/JWE/ptx3sZhZhqIvy3bEfjnqPxah1FD9hsA=", transferName: "QQ" } 注:参数值格式为JSON,使用时需要进行编码 encodeURIComponent() | 是 | 1)type:表类型为2,代表SQL表 2)connectionName:数据连接名称 3)name:表原始名 4)pack:数据集所在业务包ID 5)paramSetting:参数设置 6)sql:加密后的SQL 7)transferName:表转义名 |
注意事项:
FineBI的SQL数据集中的SQL语句传输是经过加密的。所以添加SQL数据集时,不能直接使用sql语句,而需要应用加密种子对其进行加密。
步骤 | 具体操作 |
---|---|
获取加密种子 | 可通过http://ip:port/webroot/decision/system/info接口获取加密种子。 若系统使用Aes加密,则加密种子为frontSeed;若系统使用国密加密,则加密种子为frontSM4Key。 { data: { xxx: yyy frontSeed: "xxxx" // Aes加密 frontSM4Key: "yyyy" // 国密加密 .... } } |
加密方法 | 1)如果环境中有引入fineui的话,可以直接调用BI.aesEncrypt来获取加密后的文本 BI.aesEncrypt("sql语句, "aes种子") 2)如果是国密种子的话,则需要调用BI.SM4.ecbEncrypt来获取加密后的文本 BI.SM4.ecbEncrypt("sql语句","国密种子") |
响应实例
请求示例 | 编码前参数值: {type: 2,connectionName: "BI Demo",name: "QQ",pack: "c9dcb29695ba4d77a71fed73ea259720",paramSetting: [],sql: "mLG5CuG/JWE/ptx3sZhZhqIvy3bEfjnqPxah1FD9hsA=",transferName: "QQ"} 编码后参数值: %7B%22type%22%3A2%2C%22connectionName%22%3A%22BI%20Demo%22%2C%22name%22%3A%22QQ%22%2C%22pack%22%3A%22c9dcb29695ba4d77a71fed73ea259720%22%2C%22paramSetting%22%3A%5B%5D%2C%22sql%22%3A%22mLG5CuG%2FJWE%2Fptx3sZhZhqIvy3bEfjnqPxah1FD9hsA%3D%22%2C%22transferName%22%3A%22QQ%22%7D 链接: http://172.17.0.25:37799/webroot/decision/v5/api/table/add?bean=%7B%22type%22%3A2%2C%22connectionName%22%3A%22BI%20Demo%22%2C%22name%22%3A%22QQ%22%2C%22pack%22%3A%22c9dcb29695ba4d77a71fed73ea259720%22%2C%22paramSetting%22%3A%5B%5D%2C%22sql%22%3A%22mLG5CuG%2FJWE%2Fptx3sZhZhqIvy3bEfjnqPxah1FD9hsA%3D%22%2C%22transferName%22%3A%22QQ%22%7D&fine_auth_token=xxx 注:使用接口时需要登录,需要传递token参数。 |
响应成功 | callback(true) |
截图示意 |
修改数据集转义名
接口简介
接口作用 | 修改数据集转义名 |
接口URL | /v5/api/tables/{tableName}/rename |
请求类型 | POST |
注意事项 | tableName是表原始名 |
请求参数-body参数
body | 是否必填 | 描述说明 |
---|---|---|
{"newName":"新转义名"} | 是 | newName为表的新转义名 |
响应实例
请求链接 | 表原始名: BI Demo_教师信息表 链接: http://172.17.0.25:37799/webroot/decision/v5/api/tables/BI Demo_教师信息表/rename?fine_auth_token=xxx 注:使用接口时需要登录,需要传递token参数。 |
请求body | { "newName":"教育_2022届教师信息表" } |
响应成功 | { "success": true, "code": "200", "message": "success", "data": [], "errorCode": null, "detailErrorMsg": null, "errorMsg": null } |
截图示意 |
删除数据集
接口简介
接口作用 | 删除数据集 |
接口URL | /v5/api/table/{tableName}/delete |
请求类型 | GET |
注意事项 | tableName是数据表的原始名 |
响应实例
请求示例 | http://172.17.0.25:37799/webroot/decision/v5/api/table/BIDemo_客户跟踪表/delete?fine_auth_token=xxx 注:使用接口时需要登录,需要传递token参数。 |
响应成功 | callback(true) |
截图示意 |
获取数据集信息
接口简介
接口作用 | 获取数据集相关信息 |
接口URL | /v5/api/table/{tableName}/get |
请求类型 | GET |
注意事项 | tableName是数据表的原始名 |
响应实例
请求示例 | http://172.17.0.20:37799/webroot/decision/v5/api/table/BI Demo_各省招生人数表/get?fine_auth_token=xxx 注:使用接口时需要登录,需要传递token参数。 |
响应成功 | callback({ "name": "BI Demo_各省招生人数表", "id": "BI Demo_各省招生人数表", "transferName": "各省招生人数表", "fields": [ { "id": "BI Demo[5f]各省招生人数表_[5730][533a]", "name": "地区", "type": 16, "size": 32, "enable": true, "usable": true, "transferName": "地区", "fieldGroupType": 0 }, { "id": "BI Demo[5f]各省招生人数表_[5e74][4efd]", "name": "年份", "type": 16, "size": 32, "enable": true, "usable": true, "transferName": "年份", "fieldGroupType": 0 } ], "operatorBeans": [], "paramSetting": [], "memorize": false, "initTime": 0, "lastUpdateTime": 1568962808454, "editable": false, "selected": 0, "connectionName": "BI Demo", "tableName": "各省招生人数表", "type": 1, "createByWithId": "b5f0c2ee-640f-4039-a4d4-918b55354898", "engineType": 2 }) |
截图示意 |
响应参数说明
参数 | 参数值说明 |
---|---|
name | 表原始名 |
transferName | 表转义名 |
fields | 以json格式记录数据集信息 name:表原始名称 type:表类型 enable:是否可见 usable:是否可用 transferName:表转义名 |
initTime | 初始化时间 |
lastUpdateTime | 最近改动时间 |
editable | 是否可编辑 |
connectionName | 数据连接名称 |
tableName | 数据库表名称 |
type | 表类型 1:DB表 2:SQL表 |
createByWithId | 数据集创建者信息 |
engineType | 数据集引擎类型 1:直连数据 2:抽取数据 |
获取数据集分页数据
接口简介
接口作用 | 获取业务包表的数据预览, 限制数据量不超过10w,支持设置每一页数据量 |
接口URL | /v5/api/tables/data/page |
请求类型 | POST |
请求参数-body参数
body | 是否必填 | 描述说明 |
---|---|---|
{ "tableName":"表原始名", "pageIndex":"页码", "pageSize":"每页数据量" } | 是 | 1)tableName为表原始名 2)pageIndex为页码 3)pageSize为每页的数据条数 |
响应实例
请求链接 | http://172.17.0.25:37799/webroot/decision/v5/api/tables/data/page?fine_auth_token=xxx 注:使用接口时需要登录,需要传递token参数。 |
请求body | { "tableName":"BI Demo_毕业生信息表", "pageIndex":"1", "pageSize":"2" } |
响应成功 | { "success": true, "code": "200", "message": "success", "data": { "needShowTotalRowSize": true, "parentCached": false, "fields": [ { "id": "BI Demo[5f]毕业生信息表_[6bd5][4e1a][751f][7c7b][578b]", "name": "毕业生类型", "type": 16, "size": 32, "enable": true, "usable": true, "transferName": "毕业生类型", "fieldGroupType": 0 }, { "id": "BI Demo[5f]毕业生信息表_[5b66][79d1][7c7b][578b]", "name": "学科类型", "type": 16, "size": 32, "enable": true, "usable": true, "transferName": "学科类型", "fieldGroupType": 0 }, { "id": "BI Demo[5f]毕业生信息表_[5b66][4f4d][7c7b][578b]", "name": "学位类型", "type": 16, "size": 32, "enable": true, "usable": true, "transferName": "学位类型", "fieldGroupType": 0 } ], "data": [ [ "留学生", "管理学", "理论型博士" ], [ "普通在读生", "法学", "博士生" ] ], "fieldsLabel": [], "pageInfo": { "totalRows": 688, "pageSize": 2, "pageIndex": 1 }, "dataStatus": { "tableName": "BI Demo_毕业生信息表", "updateStatus": 0, "errorCode": 0, "limit": 0.0 }, "updateStatus": { "table": { "name": "BI Demo_毕业生信息表", "transferName": "教育_毕业生信息表", "type": 1 }, "diffConf": false, "hasdata": true, "currentType": 4, "startTime": 0, "endTime": 1658727981210, "process": 0.0, "monitorExist": false } }, "errorCode": null, "detailErrorMsg": null, "errorMsg": null } |
截图示意 |