更新时间:2024-05-27 GMT+08:00

批量测试连接-集群模式

功能介绍

  • 批量测试连接(集群模式)。
  • 主备任务测试连接

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

接口约束

  • 任务创建成功之后,任务状态为CONFIGURATION才能进行测试连接。
  • 为保证接口调用性能,建议批量调用数量不超过10个。

URI

POST /v3/{project_id}/jobs/cluster/batch-connection

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的Project ID。

获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

指定类型为application/json。

缺省值:application/json

X-Auth-Token

String

从IAM服务获取的用户Token。

X-Language

String

请求语言类型。

缺省值:en-us

取值:

  • en-us
  • zh-cn
表3 请求Body参数

参数

是否必选

参数类型

描述

jobs

Array of objects

集群批量测试连接任务请求列表。

详情请参见表4

表4 jobs字段数据结构说明

参数

是否必选

参数类型

描述

action

String

需要执行的特定操作。

job_id

String

任务ID(集群模式取父任务的任务ID)。

property

String

操作对应的参数。

说明:

按照表5中的参数拼成json后转义。

表5 property字段数据结构说明

名称

是否必选

参数类型

说明

dbtype

String

数据库类型。

dbport

Integer

数据库端口,mongodb时取值0。

ssllink

boolean

是否是SSL安全连接,取值:

  • true
  • false

nettype

String

网络类型,取值:

  • vpn
  • vpc
  • eip

endpointtype

String

endpoint类型,取值:

  • so:源库。
  • ta:目标库。
  • ls : 分片数据库。 当源库是集群时,数据库ip对应的endpointtype是so, 分片数据库对应的endpointtype是ls。

ip

String

数据库IP。

dbName

String

数据库名称。

instid

String

数据库实例ID,云上实例需要填写。

dbuser

String

数据库用户名。

dbpassword

String

数据库密码。

sslcertkey

String

SSL证书内容,SSL连接时需要。

sslcertname

String

SSL证书名字,SSL连接时需要。

sslcertchecksum

String

SSL证书内容checksum值,SSL连接时需要。

kafkaSecurityConfig

Object

Kafka认证方式为安全认证时填写。

详情请参见表6

表6 kafkaSecurityConfig字段数据结构说明

参数

是否必选

参数类型

描述

type

String

安全协议,安全认证时必填,对应Kafka字段:security.protocol。

  • PLAINTEXT:无安全认证方式,仅需输入IP和端口进行连接。
  • SASL_PLAINTEXT:使用SASL机制连接Kafka,需要设置SASL相关配置。
  • SSL:使用SSL加密方式连接Kafka,需要设置SSL相关配置。
  • SASL_SSL:使用SASL及SSL加密认证方式,需要设置SSL及SASL相关参数配置信息。

枚举值:

  • PLAINTEXT
  • SASL_PLAINTEXT
  • SASL_SSL
  • SSL

trust_store_key_name

String

证书名称,安全协议为SSL、SASL_SSL时必填。

trust_store_key

String

安全证书base64转码后的值,安全协议为SSL、SASL_SSL时必填。

trust_store_password

String

证书密码,安全协议为SSL、SASL_SSL时必填。

endpoint_algorithm

String

主机名端点识别算法,对应Kafka字段:ssl.endpoint.identification.algorithm,指定通过服务端证书验证服务端主机名的端点识别算法,不填表示禁用主机名验证。

sasl_mechanism

String

SASL机制,用于客户端连接的SASL机制,对应Kafka字段:sasl.mechanism,支持以下四项,取值:

  • GSSAPI
  • PLAIN
  • SCRAM-SHA-256
  • SCRAM-SHA-512

delegation_tokens

Boolean

是否为委托令牌鉴权,安全协议为SASL_SSL和SASL_PLAINTEXT时,SASL机制选择“SCRAM-SHA-256”或者“SCRAM-SHA-512”时生效。

enable_key_store

Boolean

是否开启SSL双向认证。

key_store_key

String

Keystore证书,开启SSL双向认证时需要。

key_store_key_name

String

Keystore证书名称,开启SSL双向认证时需要。

key_store_password

String

Keystore证书密码,开启SSL双向认证时需要。对应Kafka字段:ssl.keystore.password

set_private_key_password

Boolean

是否设置Keystore私钥密码,默认为false。

key_password

String

Keystore私钥密码,开启SSL双向认证时,set_private_key_password为true时必填。对应Kafka字段:ssl.key.password。

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

results

Array of objects

批量测试连接响应体集合。

详情请参见表8

count

Integer

总记录数。

表8 results字段数据结构说明

参数

参数类型

描述

id

String

任务ID。

status

String

测试结果。取值:

  • true:表示成功。
  • false:表示失败。

error_code

String

错误码。

error_msg

String

错误信息。

success

Boolean

是否成功。

请求示例

  • MySQL主备任务测试连接
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/cluster/batch-connection
    
    {
    	"jobs": [{
    		"action": "testConnection",
    		"job_id": "0ac45233-8de7-4f02-9de1-d71cab7jb201",
    		"property": "[{\"ip\":\"192.168.2.232:3306\",\"dbtype\":\"mysql\",\"dbuser\":\"root\",\"dbpassword\":\"******\",\"ssllink\":false,\"projectId\":\"054ba152d480d55b2f5dc0069e7ddef0\",\"region\":\"cn-xianhz-1\",\"nettype\":\"eip\",\"endpointtype\":\"so\"}]"
    	}]
    }
  • 源库为DDS集群测试连接
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/cluster/batch-connection
    
    {
      "jobs" : [ {
        "action" : "testConnection",
        "job_id" : "35d0d60b-4605-4686-b35d-3a3d059fjb15",
        "property" : "[{\"dbtype\":\"mongodb\",\"dbport\":0,\"ssllink\":false,\"nettype\":\"eip\",\"endpointtype\":\"so\",\"encrypt\":{\"elementId\":\"encrypt_switch\",\"offLabel\":\"OFF\",\"onLabel\":\"ON\",\"disable\":false,\"ip\":\"192.168.7.217:8635\",\"dbName\":\"admin\",\"dbuser\":\"rwuser\",\"dbpassword\":\"******\"},{\"dbtype\":\"mongodb\",\"dbport\":0,\"ssllink\":false,\"nettype\":\"eip\",\"endpointtype\":\"so\",\"encrypt\":{\"elementId\":\"encrypt_switch\",\"offLabel\":\"OFF\",\"onLabel\":\"ON\",\"disable\":false,\"ip\":\"192.168.7.72:8635\",\"dbName\":\"admin\",\"dbuser\":\"rwuser\",\"dbpassword\":\"******\"},{\"ip\":\"192.168.7.37:8635\",\"nettype\":\"eip\",\"dbtype\":\"mongodb\",\"dbport\":0,\"dbuser\":\"rwuser\",\"dbpassword\":\"******\",\"ssllink\":false,\"sslcertkey\":\"\",\"sslcertname\":\"\",\"sslcertchecksum\":\"\",\"endpointtype\":\"ls\",\"dbName\":\"admin\"}]"
      } ]
    }
  • MySQL-Kafka实时同步主备任务,Kafka认证方式为SASL_PLAINTEXT
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/cluster/batch-connection
    
    {
      "jobs": [
        {
          "action": "testConnection",
          "job_id": "f85c660b-c4d0-4571-ac53-629d906jb20i",
          "property": "[{\"ip\":\"xxxxxx:xxxx\",\"dbtype\":\"kafka\",\"dbuser\":\"xxxxxx\",\"dbpassword\":\"xxxxxx\",\"ssllink\":false,\"projectId\":\"5237e10fe9aa4ad5b16b6a5245248314\",\"region\":\"region-1\",\"vpcid\":\"f7ea6af9-dee8-456f-b3d7-0cc34b4c9cbf\",\"subnetid\":\"b04c1704-5bd9-4195-9bda-ea2a14e0537e\",\"kafkaSecurityConfig\":{\"type\":\"SASL_PLAINTEXT\",\"sasl_mechanism\":\"PLAIN\"},\"nettype\":\"vpc\",\"dbUseType\":\"sync\",\"endpointtype\":\"ta\"}]"
        }
      ]
    }

响应示例

状态码: 200

OK

{
  "results" : [ {
    "id" : "0eb704d0-5a1c-4cbd-b675-91152f06jb11",
    "status" : "true"
  } ],
  "count" : 1
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码