批量创建任务 - BatchCreateJobs
功能介绍
根据请求参数不同,可以批量创建实时迁移、实时同步、实时灾备任务。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
接口约束
为保证接口调用性能,建议批量调用数量不超过10个。
URI
POST /v3/{project_id}/jobs/batch-creation
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释: 任务名称。 约束限制: 必须以字母开头,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 取值范围: 长度为4-50个字符。 默认取值: 不涉及。 |
| db_use_type | 是 | String | 参数解释: 迁移任务的业务场景类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| engine_type | 是 | String | 参数解释: DRS任务引擎类型。 约束限制: 不涉及。 取值范围:
详细取值可参考引擎类型说明。 默认取值: 不涉及。 |
| job_direction | 是 | String | 参数解释: 任务的迁移方向。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| bind_eip | 否 | Boolean | 参数解释: 是否绑定EIP(弹性公网IP)。 约束限制: 网络类型为EIP时必填且为true。 取值范围:
默认取值: false |
| customize_sutnet_id | 是 | String | 参数解释: DRS实例所在子网ID,对应目标库相同VPC下已创建的子网(subnet)的网络ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| product_id | 否 | String | 参数解释: 产品ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| is_target_readonly | 否 | Boolean | 参数解释: 指定目标实例是否限制为只读。 约束限制: MySQL迁移和灾备,且job_direction为up时设置有效。(灾备场景下,单主灾备且本云为备为必填且为true,不填默认设置为true)。 取值范围:
默认取值: 不涉及。 |
| net_type | 是 | String | 参数解释: 任务使用的网络类型。 约束限制: 灾备场景不支持选择VPC网络。 取值范围:
默认取值: 不涉及。 |
| node_type | 是 | String | 参数解释: DRS任务实例规格编码,决定迁移实例的计算资源大小。 约束限制: 不涉及。 取值范围:
具体某种场景支持的取值可以通过查询可用的Node规格接口获取 默认取值: 不涉及。 |
| node_num | 否 | Integer | 参数解释: 节点个数。MongoDB数据库时对应源端分片个数,源库为集群时必填。MySQL双主灾备时会默认设置为2。 约束限制: 不涉及。 取值范围: 1-32,MySQL双主灾备时会默认设置为2。 默认取值: 不涉及。 |
| source_endpoint | 是 | Object | 参数解释: 源数据库连接信息。 详情请参见表5。 |
| target_endpoint | 是 | Object | 参数解释: 目标数据库连接信息。 详情请参见表5。 |
| task_type | 是 | String | 参数解释: 任务模式,指定数据复制任务的执行方式。 约束限制: 单主灾备场景仅支持选择全量加增量(FULL_INCR_TRANS)。 取值范围:
默认取值: FULL_INCR_TRANS |
| tags | 否 | Array of object | 参数解释: 标签信息列表。 详情请参见表7。 约束限制: 最多添加20个标签 |
| description | 否 | String | 参数解释: 任务描述。 约束限制: 任务描述不能超过256位,且不能包含!<>&'"\特殊字符。 取值范围: 不涉及。 默认取值: 不涉及。 |
| multi_write | 否 | Boolean | 参数解释: 灾备类型是否为双主灾备。 约束限制:
取值范围:
默认取值: false |
| sys_tags | 否 | Array of object | 参数解释: 企业项目标签列表。 约束限制:
详情请参见表7。 |
| expired_days | 否 | String | 参数解释: 任务处于异常状态一段时间后自动结束的天数。 约束限制: 不涉及 取值范围: 14-100 默认取值: 14 |
| master_az | 否 | String | 参数解释: 主备任务主任务所在可用区编码,可以通过查询规格未售罄的可用区接口获取,不填写取值默认为单az任务。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| slave_az | 否 | String | 参数解释: 主备任务备任务所在可用区编码,可以通过查询规格未售罄的可用区接口获取,不填写取值默认为单az任务。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| charging_mode | 否 | String | 参数解释: 任务的计费模式,指定数据复制任务的付费方式。 约束限制:
取值范围:
默认取值: on_demand |
| period_order | 否 | Object | 参数解释: 包年包月信息。 详情请参见表8。 约束限制: charging_mode为period时必填。 |
| public_ip_list | 否 | Array of objects | 参数解释: 指定公网IP的信息。 详情请参见表9。 |
| is_open_fast_clean | 否 | Boolean | 参数解释: 是否开启云数据库RDS for MySQL或MariaDB的Binlog快速清理。 约束限制: 不涉及。 取值范围:
默认取值: false |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| db_type | 否 | String | 参数解释: 数据库类型,标识源库或目标库的数据库引擎种类。 约束限制: 测试连接之后修改调用时必填。 取值范围:
默认取值: 不涉及。 |
| az_code | 否 | String | 参数解释: 数据库所在可用区(AZ,Availability Zone)编码。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| region | 否 | String | 参数解释: 数据库实例所在区域。数据库为云上实例时,比如RDS实例时必填。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| inst_id | 否 | String | 参数解释: 数据库实例ID。数据库为云上实例时,比如RDS实例时必填。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| vpc_id | 否 | String | 参数解释: 数据库所在的虚拟私有云(VPC,Virtual Private Cloud)ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| subnet_id | 否 | String | 参数解释: 数据库所在的子网ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| security_group_id | 否 | String | 参数解释: 数据库所在的安全组ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| project_id | 否 | String | 参数解释: 如果数据库为云上实例时,填写数据库实例所在Region下的Project ID。否则,填写当前任务所在Region下的Project ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_name | 否 | String | 参数解释: 服务名serviceName,源库为Oracle场景时必填。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| db_password | 否 | String | 参数解释: 数据库密码,用于连接数据库的认证密码。 约束限制: 除不需要密码的引擎,其他引擎测试连接之后修改调用时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_port | 否 | Integer | 参数解释: 数据库端口号,用于指定连接数据库的服务端口。 约束限制: 输入范围为1-65535之间的整数。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_user | 否 | String | 参数解释: 数据库账号,用于连接数据库的用户名。 约束限制: 除不需要用户名的引擎,其他引擎测试连接之后修改调用时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| inst_name | 否 | String | 参数解释: RDS实例名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ip | 否 | String | 参数解释: 数据库IP地址。测试连接之后修改调用时必填。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| mongo_ha_mode | 否 | String | 参数解释: MongoDB高可用模式。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| safe_mode | 否 | Integer | 参数解释: MRS集群运行模式。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| ssl_cert_password | 否 | String | 参数解释: SSL证书密码,证书文件后缀为.p12。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_cert_check_sum | 否 | String | 参数解释: SSL证书内容checksum值,后端校验,源库安全连接必选。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_cert_key | 否 | String | 参数解释: SSL证书内容,用base64加密。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_cert_name | 否 | String | 参数解释: SSL证书名字。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ssl_link | 否 | Boolean | 参数解释: 是否使用SSL安全连接,指定数据库连接是否启用SSL加密传输。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| topic | 否 | String | 参数解释: kafka topic名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| cluster_mode | 否 | String | 参数解释: MongoDB集群模式,当集群实例无法获取到分片节点的IP时,source_endpoint中需要填写。 约束限制: 不涉及。 取值范围: Sharding4.0+:MongoDB集群4.0及以上版本。 默认取值: Sharding4.0+ |
| kafka_security_config | 否 | Object | 参数解释: Kafka安全认证相关相关配置,非安全认证不需要此参数。 详情请参见表6。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 否 | String | 参数解释: 标签键。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| value | 否 | String | 参数解释: 标签值。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| period_type | 否 | Integer | 参数解释: 订购周期类型。 约束限制: charging_mode为period时生效且为必选值。 取值范围:
默认取值: 不涉及。 |
| period_num | 否 | Integer | 参数解释: 订购周期数。 约束限制:
取值范围:
默认取值: 不涉及。 |
| is_auto_renew | 否 | Integer | 参数解释: 是否自动续订。 约束限制: charging_mode为period时生效,不传该字段时默认为不自动续订。 取值范围:
默认取值: 不涉及。 |
响应参数
状态码:202
| 参数 | 参数类型 | 描述 |
|---|---|---|
| results | Array of objects | 参数解释: 批量创建任务的响应体集合。 详情请参见表11。 |
| count | Integer | 参数解释: 返回的任务信息总记录数,表示本次查询成功返回的任务数量,与results数组的长度一致。 约束限制: 不涉及。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 任务ID,用于唯一标识一个数据复制任务,在查询、修改、删除等操作中作为任务的识别凭证。 约束限制: 不涉及。 取值范围: 不涉及。 |
| child_ids | Array of strings | 参数解释: 子任务ID集合,有子任务时返回该字段。 约束限制: 不涉及。 取值范围: 不涉及。 |
| name | String | 参数解释: 任务名称。 约束限制: 不涉及。 取值范围: 不涉及。 |
| status | String | 参数解释: 任务当前运行状态。 约束限制: 不涉及。 取值范围:
|
| create_time | String | 参数解释: 创建时间,时间戳格式。 约束限制: 不涉及。 取值范围: 不涉及。 |
| error_code | String | 参数解释: 错误码,当任务报错时返回的错误代码。 约束限制: 不涉及。 取值范围: 不涉及。 |
| error_msg | String | 参数解释: 错误详细信息,当任务执行失败时返回的具体错误描述。 约束限制: 不涉及。 取值范围: 不涉及。 |
请求示例
- 批量创建MySQL入云实时迁移任务,任务模式为全量+增量,网络类型为公网网络
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-creation { "jobs" : [ { "name" : "DRS-9228", "node_type" : "high", "engine_type" : "mysql", "net_type" : "eip", "job_direction" : "up", "db_use_type" : "migration", "task_type" : "FULL_INCR_TRANS", "customize_sutnet_id" : "352ad828-3467-4f03-987a-c55a5a9dd417", "source_endpoint" : { "db_type" : "mysql" }, "target_endpoint" : { "region" : "cn-xianhz-1", "db_type" : "mysql", "inst_id" : "e05a3679efe241d8b5dee80b17c1a863in01" }, "is_target_readonly" : false, "bind_eip" : true } ] } - 批量创建MySQL本云为备实时灾备任务,网络类型为公网网络
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-creation { "jobs" : [ { "name" : "DRS-api-test", "engine_type" : "cloudDataGuard-mysql", "net_type" : "eip", "node_type" : "high", "job_direction" : "up", "source_endpoint" : { "db_type" : "mysql" }, "target_endpoint" : { "region" : "cn-xianhz-1", "db_type" : "mysql", "inst_id" : "e05a3679efe241d8b5dee80b17c1a863in01", "project_id" : "054ba152d480d55b2f5dc0069e7ddef0" }, "is_target_readonly" : true, "bind_eip" : true, "db_use_type" : "cloudDataGuard", "task_type" : "FULL_INCR_TRANS", "customize_sutnet_id" : "352ad828-3467-4f03-987a-c55a5a9dd417", "multi_write" : false } ] } - 批量创建DDS副本入云实时迁移任务,任务模式为全量+增量,网络类型为公网网络
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-creation { "jobs" : [ { "name" : "DRS-3371-linxiaolu", "node_type" : "high", "engine_type" : "mongodb", "net_type" : "eip", "job_direction" : "up", "db_use_type" : "migration", "task_type" : "FULL_INCR_TRANS", "customize_sutnet_id" : "faf513f3-7a88-4a5c-bec7-238699c29c17", "source_endpoint" : { "db_type" : "mongodb" }, "target_endpoint" : { "region" : "cn-xianhz-1", "db_type" : "mongodb", "inst_id" : "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02" }, "bind_eip" : true } ] } - 创建MySQL主备入云同步任务,任务模式为全量+增量,网络类型为公网网络
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-creation { "jobs" : [ { "name" : "DRS-linxiaolu-test3", "engine_type" : "mysql", "net_type" : "eip", "node_type" : "high", "job_direction" : "up", "source_endpoint" : { "db_type" : "mysql" }, "target_endpoint" : { "region" : "cn-xianhz-1", "db_type" : "mysql", "inst_id" : "64e8d7a31afa476ca85609a17af83765in01", "project_id" : "054ba152d480d55b2f5dc0069e7ddef0" }, "bind_eip" : true, "db_use_type" : "sync", "task_type" : "FULL_INCR_TRANS", "customize_sutnet_id" : "0cf77cfb-3785-4065-a9c4-74b7bb2df071", "master_az" : "az2xahz", "slave_az" : "az3xahz" } ] }
响应示例
状态码:202
Accepted
{
"results" : [ {
"id" : "e11eaf8f-71ef-4fad-8890-aed7572ajb11",
"name" : "DRS-9228",
"status" : "CREATING",
"create_time" : "1599188556112"
} ],
"count" : 1
} 错误码
请参见错误码。