接口说明: 添加数据连接到指定项目

    权限说明: 使用 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"
    }