添加数据连接接口
更新时间: 2025-03-18 19:20:12
接口说明: 添加数据连接到指定项目
权限说明: 使用 token 访问,只有项目管理员才能调用该接口。
基本信息:
API | /api/dash/dataConnection/apiAdd |
Method | POST |
请求参数:
字段名称 | 参数类型 | 参数说明 |
---|---|---|
token | String | 鉴权 token,该用户必须是项目管理员 |
name | String | 数据连接名称 |
folderId | Optional(Number) | 文件夹ID, 可以不传默认为0表示根目录 |
paths | Optional(Arr) | 文件夹路径,可以不传 |
projectId | Number | 项目Id |
type | Number | 数据链接类型 |
server | Optional(Str) | 服务器 |
port | Optional(Num) | 端口 |
userName | Optional(Str) | 用户名 |
password | Optional(Str) | 密码 |
parameters | Optional(Obj) | 附加参数 |
namespace | Optional(Arr) | 命名空间 |
readOnly | Number | 是否只读。1-只读,0-非只读。默认为0 |
skipTest | Optional(Bool) | 是否绕过连接验证。false-不绕过,true-绕过。默认为false |
parameters 结构: 不同的数据源传的结构不一样, 见后面的示例
{
....
customData: { // 开启指标类型自定义元信息, 目前仅猛犸指标中台需要用
enable: true,
type: 'indicator'
},
jdbcUrlProps: Opt(Str) // jdbc附加参数
driver: Opt(Str) // 驱动: "driver":"mysql-connector-5.1.49"
}
输入参数举例:
MySQL: 认证方式为用户名密码(Mysql)
{
"name": "测试MySQL",
"projectId": 156,
"type": 0,
"paths": ["abc"],
"server":"10.172.11.225",
"port":"3306",
"userName":"youdata",
"password":"youdata",
"defaultSchemaName": "BLD", // 默认database,可以不传
"token": "1636597037183050570b9a6d51def260eea18"
}
Oracle:
{
"name": "测试Oracle",
"projectId": 156,
"type": 1,
"paths": ["abc"],
"server":"10.172.11.234",
"port":"1521",
"userName":"youdata",
"password":"youdata",
"parameters": {
"SID": "XE"
},
"token": "1636597037183050570b9a6d51def260eea18"
}
SQL Server:
{
"name": "测试SQL Server",
"projectId": 156,
"type": 12,
"paths": ["abc"],
"server":"223.252.222.21",
"port":"1433",
"userName":"youdata",
"password":"youdata",
"namespace": ["test"], // 数据库
"token": "1636597037183050570b9a6d51def260eea18"
}
Custom API:
{
"name": "测试 Custom API",
"projectId": 156,
"type": 24,
"paths": ["abc"],
"server":"url", // url地址
"userName":"youdata",
"password":"youdata",
"parameters": {
"customParameters": {
// 查询参数配置
}
},
"token": "1636597037183050570b9a6d51def260eea18"
}
Postgresql (PG)
{
"name": "测试pg",
"projectId": 542,
"type": 21,
"paths": ["abc"],
"server":"10.196.80.249",
"port":"6432",
"userName":"youdata_test",
"password":"youdata",
"namespace": ["youdata"], // 必传
"token": "1636597037183050570b9a6d51def260eea18"
}
达梦
{
"name": "测试达梦",
"projectId": 542,
"type": 122,
"paths": ["abc"],
"server":"10.200.129.52",
"port":"5236",
"userName":"youdata",
"password":"youdata",
"token": "1636597037183050570b9a6d51def260eea18"
}
IMPALA: 认证方式为kerberos
首先需要调接口上传keytab文件, 然后再调用新建数据连接接口
{
"name": "测试",
"type": 11,
"projectId": 64464,
"server": "hadoop334.xxx",
"parameters": {
"authType": "kerberos",
"connMode": "zookeeper",
"queryQueueSetting": {
"totalQueueLength": 40,
"highQueueLength": 1
},
"driver": "hive-2.1.1",
"cPrincipal": "intern/bigdata@TEST.HZ.NETEASE.COM",
"principal": "impala/_HOST@TEST.HZ.NETEASE.COM",
"namespace": "impala-ha-new/impala-hiveserver2",
"keytab": {
"fileName": "intern.keytab",
"fileKey": 282
}
},
"folderId": 0,
"token": "1705659185955e2ffa2749101bd929184a10f"
}
返回结果示例:
{
"code": 200,
"result": {
"server": "10.172.43.225",
"port": 3306,
"userName": "youdata",
"password": null,
"parameters": {},
"name": "测试数据链接名称",
"defaultSchemaName": "BLD",
"type": 0,
"modifiedId": 1,
"available": 1,
"dataConnectionInfo": {
"version": "5.5.52-0+deb7u1"
},
"projectId": 156,
"id": 3108,// 数据连接id
"showname": "MySQL",
"typeName": "mysql",
"creatorName": "admin"
},
"logPath": "http://127.0.0.1:8009/operation/log/ut3j63gG1ga77PgQdCZN8C"
}