文档首页/ 数据复制服务 DRS/ API参考/ API v3(不再推广)/ 公共接口管理/ 批量测试连接 - BatchValidateConnections
更新时间:2026-07-29 GMT+08:00

批量测试连接 - 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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户在某一Region下的Project ID。

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

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

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:英语
  • zh-cn:中文

默认取值:

en-us

表3 请求Body参数

参数

是否必选

参数类型

描述

jobs

Array of objects

参数解释:

批量测试连接请求列表,指定需要测试连接的任务及其数据库连接信息。

详情请参见表4

表4 jobs字段数据结构说明

参数

是否必选

参数类型

描述

id

String

参数解释:

DRS任务ID,用于唯一标识一个数据复制任务,可以从任务列表或者任务详情页面获取。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

net_type

String

参数解释:

任务使用的网络类型。

约束限制:

不涉及。

取值范围:

  • vpn:VPN网络。
  • vpc:VPC网络。
  • eip:EIP网络。

默认取值:

不涉及。

db_type

String

参数解释:

数据库类型,标识源库或目标库的数据库引擎种类。

约束限制:

不涉及。

取值范围:

  • mysql:MySQL
  • mongodb:MongoDB
  • gaussdbv5:GaussDB分布式版
  • taurusTaurusDB
  • gaussdbv5ha:GaussDB集中式版
  • kafka:Kafka
  • postgresql:PostgreSQL
  • oracle:Oracle

默认取值:

不涉及。

ip

String

参数解释:

数据库IP地址,用于指定连接数据库的服务器地址。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

db_port

Integer

参数解释:

数据库端口号,用于指定连接数据库的服务端口。

约束限制:

  • db_type为MongoDB、DDS时端口必填取值为0。

  • db_type为Oracle时为必填。

取值范围:

不涉及。

默认取值:

不涉及。

inst_id

String

参数解释:

数据库实例ID。数据库为云上实例时,比如RDS实例时必填。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

db_user

String

参数解释:

数据库账号,用于连接数据库的用户名。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

db_password

String

参数解释:

数据库密码,用于连接数据库的认证密码。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

ssl_link

Boolean

参数解释:

是否使用SSL安全连接,指定数据库连接是否启用SSL加密传输。

约束限制:

该参数为true时,需填写SSL证书相关信息参数。

取值范围:

  • true:使用SSL安全连接。

  • false:不使用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:源库。
  • ta:目标库。

默认取值:

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

表5 kafka_security_config字段数据结构说明

参数

是否必选

参数类型

描述

type

String

参数解释:

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

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

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_PLAINTEXTSASL_SSL时必填。

取值范围:

  • GSSAPI:GSSAPI机制。
  • PLAIN:PLAIN机制。
  • SCRAM-SHA-256:SCRAM-SHA-256机制。
  • SCRAM-SHA-512:SCRAM-SHA-512机制。

默认取值:

不涉及。

delegation_tokens

Boolean

参数解释:

是否为委托令牌鉴权。

约束限制:

安全协议为SASL_SSLSASL_PLAINTEXT时,SASL机制选择“SCRAM-SHA-256”或者“SCRAM-SHA-512”时生效。

取值范围:

不涉及。

默认取值:

不涉及。

enable_key_store

Boolean

参数解释:

是否开启SSL双向认证。

约束限制:

不涉及。

取值范围:

  • true:开启SSL双向认证。

  • false:不开启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私钥密码。

约束限制:

不涉及。

取值范围:

  • true:设置Keystore私钥密码。
  • false:不设置Keystore私钥密码。

默认取值:

false

key_password

String

参数解释:

Keystore私钥密码,对应Kafka字段:ssl.key.password。

约束限制:

开启SSL双向认证,set_private_key_password为true时必填。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

results

Array of objects

参数解释:

批量测试连接响应体集合,包含每个任务测试连接的结果信息。

详情请参见表7

count

Integer

参数解释:

返回的任务信息总记录数,表示本次查询成功返回的任务数量,与results数组的长度一致。

约束限制:

不涉及。

取值范围:

不涉及。

表7 results字段数据结构说明

参数

参数类型

描述

id

String

参数解释:

任务ID,用于唯一标识一个数据复制任务。

约束限制:

不涉及。

取值范围:

不涉及。

status

String

参数解释:

测试结果状态。

约束限制:

不涉及。

取值范围:

  • success:表示成功。
  • failed:表示失败。

error_code

String

参数解释:

错误码,当任务报错时返回的错误代码。

约束限制:

不涉及。

取值范围:

格式为DRS.XXXXXX。

error_msg

String

参数解释:

错误详细信息,当任务执行失败时返回的具体错误描述。

约束限制:

不涉及。

取值范围:

不涉及。

success

Boolean

参数解释:

操作是否成功,标识测试连接操作的执行结果。

约束限制:

  • true:操作成功。

  • false:操作失败。

取值范围:

不涉及。

请求示例

  • 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
}

状态码

状态码

描述

200

OK

400

Bad Request

其他状态请参见状态码

错误码

请参见错误码