8.2.4 数据连接增删改查API接口
*3.2.0及以上版本可使用
一、 列表查询
api path: /universe/public-api/data-source/projects/{projectId}/list
接口类型: GET
参数示例
Name | Location | 类型 | 含义 | 是否必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录API获取 |
返回示例
{ "code": 0, "msg": "success", "data": { "data": [ { "id": 1, "userId": 1, "userName": null, "name": "maxcompute", "note": null, "type": "MAXCOMPUTE", "connectionParams": "{\"database\":\"bwu_test1\",\"address\":\"https://service.odps.aliyun.com/api\",\"sqlVersion\":\"2.0\",\"jdbcUrl\":\"/\",\"user\":\"LTAI4Fra8otmsGgvrLeH61Tm\"}", "createTime": "2022-07-19T02:37:12.000+00:00", "updateTime": "2022-07-19T02:37:12.000+00:00", "authedProjectCount": 0, "krb5ConfFilePath": "/etc/dolphinscheduler/secret-file/hive/1/krb5.conf", "keytabFilePath": "/etc/dolphinscheduler/secret-file/hive/1/hive.keytab", "principalFilePath": "/etc/dolphinscheduler/secret-file/hive/1/principal", "datasourceSecretDirPath": "/etc/dolphinscheduler/secret-file/hive/1/" }, { "id": 2, "userId": 1, "userName": null, "name": "mysql", "note": null, "type": "MYSQL", "connectionParams": "{\"database\":\"test56\",\"address\":\"jdbc:mysql://dev-db.guandata.com:3305\",\"jdbcUrl\":\"jdbc:mysql://dev-db.guandata.com:3305/test56\",\"user\":\"root\"}", "createTime": "2022-09-02T08:09:55.000+00:00", "updateTime": "2022-09-02T08:09:55.000+00:00", "authedProjectCount": 0, "krb5ConfFilePath": "/etc/dolphinscheduler/secret-file/hive/2/krb5.conf", "keytabFilePath": "/etc/dolphinscheduler/secret-file/hive/2/hive.keytab", "principalFilePath": "/etc/dolphinscheduler/secret-file/hive/2/principal", "datasourceSecretDirPath": "/etc/dolphinscheduler/secret-file/hive/2/" }, { "id": 3, "userId": 1, "userName": null, "name": "mongo", "note": "", "type": "MONGODB", "connectionParams": "{\"schema\":\"\",\"database\":\"admin\",\"other\":\"readPreference=secondaryPreferred\",\"address\":\"mongodb://40.73.123.104:27017\",\"jdbcUrl\":\"mongodb://40.73.123.104:27017/admin\",\"user\":\"root\"}", "createTime": "2022-09-15T08:21:40.000+00:00", "updateTime": "2022-09-23T08:36:22.000+00:00", "authedProjectCount": 0, "krb5ConfFilePath": "/etc/dolphinscheduler/secret-file/hive/3/krb5.conf", "keytabFilePath": "/etc/dolphinscheduler/secret-file/hive/3/hive.keytab", "principalFilePath": "/etc/dolphinscheduler/secret-file/hive/3/principal", "datasourceSecretDirPath": "/etc/dolphinscheduler/secret-file/hive/3/" } ] }, "errorDetail": null }
二、 数据源创建
api path: /universe/public-api/data-source/create
接口类型: POST
参数示例
Name | Location | 类型 | 含义 | 是否必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录API获取 |
body参数: 参考 五、Body参数汇总
HIVE、IMPALA Kerberos认证需要先调用 六、认证文件上传 文件上传接口, 获取文件路径 tempFilePath
返回示例
{ "code": 0, "msg": "success", "data": { "auditTargetId": 12 }, "errorDetail": null }
三、 数据源更新
api path: /universe/public-api/data-source/update
接口类型: POST
参数示例
header参数
Name | Location | 类型 | 含义 | 是否必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录API获取 |
body参数: 参考 五、Body参数汇总
返回示例
{ "code": 0, "msg": "success", "data": true, "errorDetail": null }
四、 数据源删除
api path: /universe/public-api/data-source/projects/{projectId}/id/{dataSourceId}/delete
接口类型: GET
参数示例
header参数
Name | Location | 类型 | 含义 | 是否必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录API获取 |
返回示例
{ "code": 0, "msg": "success", "data": null, "errorDetail": null }
五、Body参数汇总
适用类型:
MYSQL、POSTGRESQL、CLICKHOUSE、ORACLE、SQLSERVER、DB2、HANA、VERTICA、TERADATA、GUANDATA、FTP、MONGODB、SYBASE
Name | 类型 | 含义 | 是否必填 | 备注 |
name | String | 连接名称 | 是 | |
note | String | 描述 | 否 | |
type | String | 类型 | 是 | MYSQL、POSTGRESQL、CLICKHOUSE、ORACLE、SQLSERVER、DB2、VERTICA、TERADATA、GUANDATA、HANA、MONGODB、SYBASE |
projectId | String | 项目ID | 是 | |
host | String | IP主机名 | 是 | |
port | String | 端口 | 是 | TERADATA无需填写 |
database | String | 库名 | 是 | 等同 ORACLE中SID、GUANDATA中域名、FTP无需填写 |
schema | String | schema | 否 | POSTGRESQL、DB2、HANA、VERTICA、专用 |
userName | String | 用户名 | 是 | |
password | String | 密码 | 是 | |
other | String | 连接参数 | 否 | |
protocol | String | 协议 | 是 | FTP、SFTP专用; 两种类型 FTP、SFTP |
path | String | 目录 | 是 | 目录结尾处需加“/” |
HIVE、IMPALA
Name | 类型 | 含义 | 是否必填 | 备注 |
name | String | 连接名称 | 是 | |
note | String | 描述 | 否 | |
type | String | 类型 | 是 | HIVE、IMPALA |
projectId | String | 项目ID | 是 | |
host | String | IP主机名 | 是 | |
port | String | 端口 | 是 | |
database | String | 库名 | 是 | |
userName | String | 用户名 | 是 | PASSWORD模式使用 |
password | String | 密码 | 是 | PASSWORD模式使用 |
other | String | 连接参数 | 否 | |
certificationType | String | 认证方式 | 是 | PASSWORD、KERBEROS |
principal | String | principal | 是 | KERBEROS模式使用 |
keytabFilePath | String | krb5.conf路径 | 是 | KERBEROS模式使用, 调用认证文件上传接口获取路径 |
krb5ConfFilePath | String | .keytab文件路径 | 是 | KERBEROS模式使用, 调用认证文件上传接口获取路径 |
MAXCOMPUTE
Name | 类型 | 含义 | 是否必填 | 备注 |
name | String | 连接名称 | 是 | |
note | String | 描述 | 否 | |
type | String | 类型 | 是 | MAXCOMPUTE |
projectId | String | 项目ID | 是 | |
accessId | String | 登录ID | 是 | |
accessKey | String | 登录key | 是 | |
endpoint | String | endpoint | 是 | |
projectName | String | 项目名 | 是 | |
sqlVersion | String | SQL版本 | 是 | 选值: 1.0、2.0 |
other | String | 连接参数 | 否 |
AMAZON_S3
Name | 类型 | 含义 | 是否必填 | 备注 |
name | String | 连接名称 | 是 | |
note | String | 描述 | 否 | |
type | String | 类型 | 是 | AMAZON_S3 |
projectId | String | 项目ID | 是 | |
accessKeyId | String | Access Key ID | 是 | |
secretKey | String | Secret Access Key | 是 | |
region | String | 区域 | 是 | 默认 us-east-2 |
bucket | String | 存储桶 | 是 |
update更新数据源接口各类型body参数同上, 只需额外增加一个dataSourceId即可
Name | 类型 | 含义 | 是否必填 | 备注 |
name | int | 数据源id | 是 |
六、认证文件上传
api path: /universe/public-api/data-source/upload-secret-file
接口类型: POST
参数示例
header参数
Name | Location | 类型 | 含义 | 是否必填 | 备注 |
Content-Type | Header | String | 内容类型 | 是 | application/json;charset=utf-8 |
token | Header | String | 登录用的Token | 是 | 调用登录API获取 |
body参数
Name | 类型 | 含义 | 是否必填 | 备注 |
file | MultipartFile | file文件 | 是 | |
dbType | String | 数据源类型 | 是 | IMPALA、HIVE |
certificationFileType | String | 认证文件类型 | 是 | KEYTAB(后缀为.conf)、KRB5_CONF(后缀为.keytab) |
返回示例
{ "code": 0, "msg": "success", "data": { "dbType": "IMPALA", "certificationFileType": "KRB5_CONF", "tempFilePath": "/tmp/28a4e48dba9c49a893cdb3336b2c906f/123.conf" }, "errorDetail": null }