创建连接
功能介绍
创建连接接口。
调用方法
请参见如何调用API。
URI
POST /v1.1/{project_id}/clusters/{cluster_id}/cdm/link
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID,获取方法请参见项目ID和账号ID。 |
| cluster_id | 是 | String | 集群ID。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| validate | 否 | String | 为“true”时,此API仅校验参数是否正确,不创建连接。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| links | 是 | Array of links objects | 连接列表,请参见links数据结构说明。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| link-config-values | 是 | link-config-values object | 连接参数配置,请参见link-config-values参数说明。 |
| creation-user | 否 | String | 创建连接的用户。 |
| name | 是 | String | 连接名称。 |
| id | 否 | Integer | 连接ID。 |
| creation-date | 否 | Long | 创建连接的时间。 |
| connector-name | 是 | String | 连接器名称,对应的连接参数如下:generic-jdbc-connector:关系数据库连接。obs-connector:OBS连接。hdfs-connector:HDFS连接。hbase-connector:HBase连接、CloudTable连接。hive-connector:Hive连接。ftp-connector/sftp-connector:FTP/SFTP连接。mongodb-connector:MongoDB连接。redis-connector:Redis/DCS连接。kafka-connector:Kafka连接。dis-connector:DIS连接。elasticsearch-connector:Elasticsearch/云搜索服务连接。dli-connector:DLI连接。 http-connector:HTTP/HTTPS连接,该连接暂无连接参数。dms-kafka-connector:DMSKafka连接。 |
| update-date | 否 | Long | 更新连接的时间。 |
| enabled | 否 | Boolean | 是否激活连接,默认为“true”。 |
| update-user | 否 | String | 更新连接的用户。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| configs | 是 | Array of configs objects | 连接配置参数数据结构,请参见configs参数说明。 |
| extended-configs | 否 | extended-configs object | 扩展配置,请参见extended-configs参数说明。 |
| validators | 否 | Array of strings | 校验器。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| inputs | 是 | Array of Input objects | 输入参数列表,列表中的每个参数为“name,value”结构,请参考inputs数据结构参数说明。在“from-config-values”数据结构中,不同的源连接类型有不同的“inputs”参数列表,请参见源端作业参数说明下的章节。在“to-config-values”数据结构中,不同的目的连接类型有不同的“inputs”参数列表,请参见目的端作业参数说明下面的子章节。在“driver-config-values”数据结构中,“inputs”具体参数请参见作业任务参数说明。 |
| name | 是 | String | 配置名称:源端作业的配置名称为“fromJobConfig”。目的端作业的配置名称为“toJobConfig”,连接的配置名称固定为“linkConfig”。 |
| id | 否 | Integer | 配置ID,由系统生成,用户无需填写。 |
| type | 否 | String | 配置类型,由系统生成,用户无需填写。值为LINK或者JOB,如果是连接管理API,则为LINK;如果是作业管理API,则为JOB。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 连接名称。 |
| validation-result | Array of validationResult objects | 校验结构:如果创建连接失败,返回失败原因,请参见validation-result参数说明。如果创建成功,返回空列表。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| linkConfig | Array of validationLinkConfig objects | 创建或更新连接校验结果,请参见linkConfig参数说明。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| code | String | 返回编码。 |
| errCode | String | 错误码。 |
| message | String | 报错信息。 |
| externalMessage | String | 附加信息。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| message | String | 错误描述。 |
| status | String | 错误级别,如:ERROR、WARNING。 |
请求示例
创建一个名为mysql_link的数据连接。
POST /v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/6ec9a0a4-76be-4262-8697-e7af1fac7920/cdm/link
{
"links" : [ {
"link-config-values" : {
"configs" : [ {
"inputs" : [ {
"name" : "linkConfig.databaseType",
"value" : "MYSQL"
}, {
"name" : "linkConfig.host",
"value" : "100.94.8.163"
}, {
"name" : "linkConfig.port",
"value" : "3306"
}, {
"name" : "linkConfig.database",
"value" : "DB_name"
}, {
"name" : "linkConfig.username",
"value" : "username"
}, {
"name" : "linkConfig.password",
"value" : "DB_password"
}, {
"name" : "linkConfig.fetchSize",
"value" : "100000"
}, {
"name" : "linkConfig.usingNative",
"value" : "false"
} ],
"name" : "linkConfig"
} ]
},
"name" : "mysql_link",
"creation-date" : 1496654788622,
"connector-name" : "generic-jdbc-connector",
"update-date" : 1496654788622,
"enabled" : true
} ]
} 响应示例
状态码:200
OK。
{
"name" : "rdb_link",
"validation-result" : [ { } ]
} 状态码:400
请求错误。
{
"code" : "Cdm.0315",
"errCode" : "Cdm.0315",
"message" : "Link name [ftp_link] already exist or created by other user.",
"externalMessage" : "Link name [ftp_link] already exist or created by other user."
} 状态码:500
服务内部错误,具体返回错误码请参考错误码。
{
"validation-result" : [ {
"linkConfig" : [ {
"message" : "Can't connect to the database with given credentials: The authentication type 12 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it is using an authentication scheme supported by the driver.",
"status" : "ERROR"
} ]
} ]
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK。 |
| 400 | 请求错误。 |
| 401 | 鉴权失败。 |
| 403 | 没有操作权限。 |
| 404 | 找不到资源。 |
| 500 | 服务内部错误,具体返回错误码请参考错误码。 |
| 503 | 服务不可用。 |
错误码
请参见错误码。