更新时间:2024-07-31 GMT+08:00
分享

数据源新增

功能介绍

数据源新增。

URI

POST /v1/{project_id}/connections

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参考获取项目ID

最小长度:0

最大长度:128

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Workspace-Id

String

工作空间ID,即控制台的项目ID。

最小长度:0

最大长度:128

X-Auth-Token

String

用户Token。通过调用IAM服务获取IAM用户Token接口,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。

最小长度:0

最大长度:8192

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

数据源名称。

最小长度:1

最大长度:255

description

String

数据源描述信息。

最小长度:0

最大长度:128

type

String

数据源类型:MySQL、PostgreSQL、DWS、OpenGauss、DLI、ClickHouse、API、Doris。

枚举值:

  • MySQL
  • PostgreSQL
  • DWS
  • OpenGauss
  • DLI
  • ClickHouse
  • API
  • Doris

source

String

数据源来源:

  • rds:云服务RDS数据源;
  • dws:DWS集群数据源;
  • mrs:云服务MRS数据源;
  • gaussdb:云服务GaussDB数据源;
  • public:公网接入方式数据源;
  • restapi:API数据源;
  • dli:云服务DLI数据源;
  • endpoint-service:终端节点服务接入方式数据源。

最小长度:0

最大长度:64

server_list

String

集群模式(多实例)必填,如DWS,ClickHouse。

最小长度:0

最大长度:512

database_name

String

数据库名。

最小长度:1

最大长度:512

host

String

域名,非集群数据源必填,如mysql。

最小长度:0

最大长度:512

port

Integer

端口。

最小值:0

最大值:2147483647

user_name

String

用户名。

最小长度:0

最大长度:64

password

String

密码。

最小长度:0

最大长度:500

region_id

String

当前region的ID。

最小长度:0

最大长度:36

cluster

ClusterInfoDTO object

云实例接入方式时必填。

config

DcConfigDTO object

配置参数。

表4 ClusterInfoDTO

参数

是否必选

参数类型

描述

id

String

关联云实例ID。

最小长度:0

最大长度:100

表5 DcConfigDTO

参数

是否必选

参数类型

描述

ssl

Boolean

ssl参数配置。

region_id

String

DLI归属regionId;当前不支持跨region,值只能是当前regionId。

最小长度:1

最大长度:20

catalog_name

String

数据目录名称,默认值:dli;DLI自有catalog值为dli。

缺省值:dli

最小长度:0

最大长度:64

catalog_type

String

数据目录类型,默认值:dil,枚举值:

  • dli:DLI自有catalog;
  • lakeformation:lakeformation的数据目录。

缺省值:dli

最小长度:0

最大长度:10

ds_project_id

String

DLI队列归属rpojectId。

最小长度:0

最大长度:100

queue_name

String

SQL队列。

最小长度:1

最大长度:200

auth_type

String

验证方式;AKSK

最小长度:0

最大长度:10

枚举值:

  • AKSK

ds_ak

String

用户ak(验证方式为AKSK时必填)。

最小长度:0

最大长度:500

ds_sk

String

用户sk(验证方式为AKSK时必填)。

最小长度:0

最大长度:500

time_out

Integer

API数据源时,请求超时时间。

最小值:0

最大值:2147483647

protocol

String

协议:REST。

最小长度:0

最大长度:50

token_key

String

token key。

最小长度:0

最大长度:10000

token_value

String

token value。

最小长度:0

最大长度:2000

request_url

String

API数据源时,请求url。

最小长度:0

最大长度:1000

request_method

String

请求方式:GET、POST。

最小长度:0

最大长度:100

枚举值:

  • GET
  • POST

request_params

Array of RequestParamDto objects

请求参数列表。

数组长度:0 - 1000

resp_param

Array of ResponseParamDto objects

返回参数。

数组长度:0 - 1000

表6 RequestParamDto

参数

是否必选

参数类型

描述

location

String

位置。

最小长度:0

最大长度:100

value

Array of strings

参数值。

最小长度:0

最大长度:1000

数组长度:0 - 100

tag_id

String

标签ID,当param_source为user时必填。

最小长度:0

最大长度:128

param_name

String

参数名称。

最小长度:0

最大长度:500

alias_name

String

参数别名。

最小长度:0

最大长度:128

field_type

String

参数类型:String、Long、Decimal、List<String>、List<Long>、List<Decimal>、DateTime、Bool、PageIndex、PageNum。

最小长度:0

最大长度:50

param_source

String

参数来源:custom、user、userGroup。

最小长度:0

最大长度:50

type

Boolean

是否加密。

表7 ResponseParamDto

参数

是否必选

参数类型

描述

alias_name

String

参数别名。

最小长度:0

最大长度:512

field_type

String

参数类型:String、Long、Decimal、DateTime、Bool。

最小长度:0

最大长度:100

param_name

String

参数名称。

最小长度:0

最大长度:32

响应参数

状态码: 200

表8 响应Body参数

参数

参数类型

描述

message

String

描述

最小长度:0

最大长度:128

请求示例

数据源新增。

POST /v1/{project_id}/connections
新增公网连接类型数据源
{
  "name": "dws02",
  "server_list": "xx.xx.x.xx:xxxx",
  "database_name": "gaussdb",
  "user_name": "xxxxx",
  "password": "xxxxxxx",
  "config": {
    "ssl": true
  },
  "source": "public",
  "type": "DWS"
}
新增DWS云数据源
{
    "name": "dws04_instance",
    "description": "测试新增",
    "source": "dws",
    "type": "DWS",
    "database_name": "xxxxx",
    "user_name": "xxxx",
    "password": "xxxx",
    "region_id": "xxxx",
    "cluster": {
        "id": "xxxxxxxxxxxx"
    },
    "config": {
        "ssl": false
    }
}
新增RDS的MySQL云数据源
{
    "name": "mysql_instance",
    "description": "测试新增",
    "source": "rds",
    "type": "MySQL",
    "database_name": "xxxxx",
    "user_name": "xxxxx",
    "password": "xxxxx",
    "region_id": "xxxx",
    "cluster": {
        "id": "xxxxxxxxxxxx"
    },
    "config": {
        "ssl": false
    }
}
新增GaussDBForMySQL云数据源
{
    "name": "gaussdb_mysql_instance",
    "description": "测试新增",
    "source": "gaussdb",
    "type": "MySQL",
    "database_name": "xxxxx",
    "user_name": "xxxxx",
    "password": "xxxxx",
    "region_id": "xxxx",
    "cluster": {
        "id": "xxxxxxxx"
    },
    "config": {
        "ssl": false
    }
}
新增OpenGauss云数据源
{
    "name": "gaussdb_instance",
    "description": "测试新增",
    "source": "gaussdb",
    "type": "OpenGauss",
    "database_name": "xxxxx",
    "user_name": "xxxxx",
    "password": "xxxxx",
    "region_id": "xxxx",
    "cluster": {
        "id": "xxxxxxxx"
    },
    "config": {
        "ssl": false
    }
}
新增PostgreSQL云数据源
{
    "name": "postgre_instance",
    "description": "测试新增",
    "source": "rds",
    "type": "PostgreSQL",
    "database_name": "xxxxx",
    "user_name": "xxxxx",
    "password": "xxxxx",
    "region_id": "xxxx",
    "cluster": {
        "id": "xxxxxxxx"
    },
    "config": {
        "ssl": false
    }
}

响应示例

状态码: 200

数据源新增成功。

{
  "message" : "xxxxxxxeac2af4e738e2430bb44xxxxxxx"
}

状态码

状态码

描述

200

数据源新增成功。

错误码

请参见错误码

相关文档