批量测试连接 - BatchValidateConnections
功能介绍
批量测试连接。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
接口约束
- 任务创建成功之后,任务状态为CONFIGURATION才能进行测试连接。
- 双主灾备时,需要正向任务状态为INCRE_TRANSFER_STARTED时,反向任务才能执行该操作,父任务不支持调用。
- 为保证接口调用性能,建议批量调用数量不超过10个。
URI
POST /v3/{project_id}/jobs/batch-connection
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 参数解释: 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 约束限制: 不涉及。 取值范围: application/json 默认取值: application/json |
| X-Auth-Token | 是 | String | 参数解释: 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-Language | 否 | String | 参数解释: 请求语言类型。 约束限制: 不涉及。 取值范围:
默认取值: en-us |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| jobs | 是 | Array of objects | 参数解释: 批量测试连接请求列表,指定需要测试连接的任务及其数据库连接信息。 详情请参见表4。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 是 | String | 参数解释: DRS任务ID,用于唯一标识一个数据复制任务,可以从任务列表或者任务详情页面获取。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| net_type | 是 | String | 参数解释: 任务使用的网络类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| db_type | 是 | String | 参数解释: 数据库类型,标识源库或目标库的数据库引擎种类。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| ip | 是 | String | 参数解释: 数据库IP地址,用于指定连接数据库的服务器地址。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_port | 否 | Integer | 参数解释: 数据库端口号,用于指定连接数据库的服务端口。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| inst_id | 否 | String | 参数解释: 数据库实例ID。数据库为云上实例时,比如RDS实例时必填。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_user | 是 | String | 参数解释: 数据库账号,用于连接数据库的用户名。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_password | 是 | String | 参数解释: 数据库密码,用于连接数据库的认证密码。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_link | 否 | Boolean | 参数解释: 是否使用SSL安全连接,指定数据库连接是否启用SSL加密传输。 约束限制: 该参数为true时,需填写SSL证书相关信息参数。 取值范围: 默认取值: 不涉及。 |
| ssl_cert_key | 否 | String | 参数解释: SSL证书内容,获取SSL证书后将内容通过BASE64加密后所得的字符串。 约束限制: ssl_link为true时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_cert_name | 否 | String | 参数解释: SSL证书名字。 约束限制: ssl_link为true时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_cert_check_sum | 否 | String | 参数解释: SSL证书内容checksum值,获取SSL证书后将内容经过SHA256加密后的值,后端校验。 约束限制: ssl_link为true时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_cert_password | 否 | String | 参数解释: SSL证书密码。 约束限制: 证书文件后缀为.p12时需要填写密码。 取值范围: 不涉及。 默认取值: 不涉及。 |
| vpc_id | 否 | String | 参数解释: 数据库所在虚拟私有云ID,用于标识数据库所在的VPC。 约束限制: 网络类型为VPC时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| subnet_id | 否 | String | 参数解释: 数据库所在子网ID,用于标识数据库所在的子网。 约束限制: 网络类型为VPC时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| end_point_type | 是 | String | 参数解释: 数据库端点类型,标识该数据库在数据复制任务中是源端还是目标端。 约束限制: 不涉及。 取值范围:
默认取值: so |
| region | 否 | String | 参数解释: 数据库实例所在区域,用于标识数据库实例的地理区域。 约束限制: 数据库为云上实例时,比如RDS实例时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| project_id | 否 | String | 参数解释: 数据库实例所在Region的项目ID,数据库为云上实例时填写数据库实例所在Region下的项目ID,否则填写当前任务所在Region下的项目ID。获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_name | 否 | String | 参数解释: 数据库用户名,DDS的账号认证数据库,Oracle的serviceName。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| kafka_security_config | 否 | Object | 参数解释: Kafka安全认证相关,非安全认证不需要此参数。 详情请参见表5。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| type | 否 | String | 参数解释: 安全协议,安全认证时必填,对应Kafka字段:security.protocol。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| trust_store_key_name | 否 | String | 参数解释: 证书名称。 约束限制: 安全协议为SSL、SASL_SSL时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| trust_store_key | 否 | String | 参数解释: 安全证书base64转码后的值。 约束限制: 安全协议为SSL、SASL_SSL时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| trust_store_password | 否 | String | 参数解释: 证书密码。 约束限制: 使用安全认证时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| endpoint_algorithm | 否 | String | 参数解释: 主机名端点识别算法,指定通过服务端证书验证服务端主机名的端点识别算法,不填表示禁用主机名验证。对应Kafka字段:ssl.endpoint.identification.algorithm 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不填表示禁用主机名验证。 |
| sasl_mechanism | 否 | String | 参数解释: SASL机制,用于客户端连接的SASL机制,对应Kafka字段:sasl.mechanism 约束限制: 认证类型为SASL_PLAINTEXT、SASL_SSL时必填。 取值范围:
默认取值: 不涉及。 |
| 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证书密码,对应Kafka字段:ssl.keystore.password 约束限制: 证书设置了密码时需要。 取值范围: 不涉及。 默认取值: 不涉及。 |
| set_private_key_password | 否 | Boolean | 参数解释: 是否设置Keystore私钥密码。 约束限制: 不涉及。 取值范围:
默认取值: false |
| key_password | 否 | String | 参数解释: Keystore私钥密码,对应Kafka字段:ssl.key.password。 约束限制: 开启SSL双向认证,set_private_key_password为true时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| results | Array of objects | 参数解释: 批量测试连接响应体集合,包含每个任务测试连接的结果信息。 详情请参见表7。 |
| count | Integer | 参数解释: 返回的任务信息总记录数,表示本次查询成功返回的任务数量,与results数组的长度一致。 约束限制: 不涉及。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 任务ID,用于唯一标识一个数据复制任务。 约束限制: 不涉及。 取值范围: 不涉及。 |
| status | String | 参数解释: 测试结果状态。 约束限制: 不涉及。 取值范围:
|
| error_code | String | 参数解释: 错误码,当任务报错时返回的错误代码。 约束限制: 不涉及。 取值范围: 格式为DRS.XXXXXX。 |
| error_msg | String | 参数解释: 错误详细信息,当任务执行失败时返回的具体错误描述。 约束限制: 不涉及。 取值范围: 不涉及。 |
| success | Boolean | 参数解释: 操作是否成功,标识测试连接操作的执行结果。 约束限制: 取值范围: 不涉及。 |
请求示例
- DDS实时迁移任务,目标库为DDS实例测试连接
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "ip" : "192.168.4.66:8635,192.168.4.83:8635", "net_type" : "eip", "db_type" : "mongodb", "db_port" : 0, "db_user" : "root", "db_password" : "********", "inst_id" : "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02", "project_id" : "0549a6a31000d4e82fd1c00c3d6f2d76", "region" : "cn-xianhz-1", "end_point_type" : "ta" } ] } - MySQL实时迁移任务,目标库为RDS for MySQL测试连接
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "ip" : "192.168.0.131", "net_type" : "eip", "db_type" : "mysql", "db_port" : 3306, "db_user" : "root", "db_password" : "********", "inst_id" : "e05a3679efe241d8b5dee80b17c1a863in01", "project_id" : "054ba152d480d55b2f5dc0069e7ddef0", "region" : "cn-xianhz-1", "end_point_type" : "ta" } ] } - MySQL实时迁移任务,源库为非RDS实例测试连接
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "ip" : "192.168.0.27", "net_type" : "eip", "db_type" : "mysql", "db_port" : 3306, "db_user" : "root", "db_password" : "********", "ssl_link" : false, "end_point_type" : "so" } ] }
- MySQL-Kafka实时同步任务,Kafka认证方式为PLAINTEXT
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs": [ { "id": "3bc38fe4-da50-4aad-903e-5db76d8jb20i", "ip": "xxxxxxx:xxxx", "net_type": "eip", "db_type": "kafka", "project_id": "5237e10fe9aa4ad5b16b6a5245248314", "end_point_type": "ta", "kafka_security_config": { "type": "PLAINTEXT" } } ] }
- MySQL-Kafka实时同步任务,Kafka认证方式为SASL_PLAINTEXT
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs": [ { "id": "3bc38fe4-da50-4aad-903e-5db76d8jb20i", "ip": "xxxxxxx:xxxx", "net_type": "eip", "db_type": "kafka", "db_user": "xxxxxxx", "db_password": "xxxxxxx", "project_id": "5237e10fe9aa4ad5b16b6a5245248314", "end_point_type": "ta", "kafka_security_config": { "type": "SASL_PLAINTEXT", "sasl_mechanism": "PLAIN" } } ] }
- MySQL-Kafka实时同步任务,Kafka认证方式为SSL
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs": [ { "id": "3bc38fe4-da50-4aad-903e-5db76d8jb20i", "ip": "xxxxxxx:xxxx", "net_type": "eip", "db_type": "kafka", "project_id": "5237e10fe9aa4ad5b16b6a5245248314", "end_point_type": "ta", "kafka_security_config": { "type": "SSL", "trust_store_key_name": "client.truststore.jks", "trust_store_key": "xxxxxx", "trust_store_password": "xxxxxx", "endpoint_algorithm": "", "enable_key_store": false } } ] }
- MySQL-Kafka实时同步任务,Kafka认证方式为SASL_SSL
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs": [ { "id": "3bc38fe4-da50-4aad-903e-5db76d8jb20i", "ip": "xxxxxxx:xxxx", "net_type": "eip", "db_type": "kafka", "db_user": "xxxxxxx", "db_password": "xxxxxxx", "project_id": "5237e10fe9aa4ad5b16b6a5245248314", "end_point_type": "ta", "kafka_security_config": { "type": "SSL", "trust_store_key_name": "client.truststore.jks", "trust_store_key": "xxxxxx", "trust_store_password": "xxxxxx", "endpoint_algorithm": "", "enable_key_store": false } } ] }
响应示例
状态码:200
OK
{
"results" : [ {
"success" : true,
"id" : "140b5236-88ad-43c8-811c-1268453jb101",
"status" : "success"
} ],
"count" : 1
} 错误码
请参见错误码。