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

批量测试连接

功能介绍

批量测试连接。

调试

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

接口约束

  • 任务创建成功之后,任务状态为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

指定类型为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字段数据结构说明

参数

是否必选

参数类型

描述

id

String

DRS任务ID,可以从任务列表或者任务详情页面获取。

net_type

String

网络类型。取值:

  • vpn
  • vpc
  • eip

db_type

String

数据库类型。取值:

  • mysql:MySQL
  • mongodb:MongoDB
  • gaussdbv5:GaussDB分布式版
  • taurus:GaussDB(for MySQL)
  • gaussdbv5ha:GaussDB主备版
  • kafka:Kafka
  • postgresql:PostgreSQL

ip

String

数据库IP。

db_port

Integer

数据库端口,Mongo、DDS必填为0。

inst_id

String

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

db_user

String

数据库账号。

db_password

String

数据库密码。

ssl_link

Boolean

是否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,数据库为云上实例时,比如RDS实例时必填。

subnet_id

String

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

end_point_type

String

源库:so,目标库:ta。

缺省值:so

取值:

  • so
  • ta

region

String

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

project_id

String

用户所处Region的Project 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相关参数配置信息。

枚举值:

  • 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

证书密码,使用安全认证时必填。

endpoint_algorithm

String

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

sasl_mechanism

String

SASL机制,用于客户端连接的SASL机制,认证类型为SASL_PLAINTEXTSASL_SSL时必填。对应Kafka字段:sasl.mechanism,支持以下四项,取值:

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

delegation_tokens

Boolean

是否为委托令牌鉴权,安全协议为SASL_SSLSASL_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私钥密码,开启SSL双向认证时,set_private_key_password为true时必填。对应Kafka字段:ssl.key.password。

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

results

Array of objects

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

详情请参见表7

count

Integer

总记录数。

表7 results字段数据结构说明

参数

参数类型

描述

id

String

任务ID。

status

String

测试结果。取值:

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

error_code

String

错误码。

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
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码