Creating Tasks in Batches¶
Function¶
This API is used to create real-time migration, real-time synchronization, and real-time DR tasks in batches based on different request parameters.
URI¶
POST /v3/{project_id}/jobs/batch-creation
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID of a tenant in a region |
Request Parameters¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
Content-Type | Yes | String | The content type. The default value is application/json. |
X-Auth-Token | Yes | String | User token obtained from IAM. |
X-Language | No | String | Request language type. The default value is en-us. Values:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
jobs | Yes | Array of CreateJobReq objects | Request body for creating tasks. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | Yes | String | The task name. The task name can be 4 to 50 characters in length. It is case-insensitive and can contain only letters, digits, hyphens (-), and underscores (_).
|
db_use_type | Yes | String | Migration scenario. Values:
|
engine_type | Yes | String | Engine type of a DRS task. Values:
|
job_direction | Yes | String | Task direction. Values:
|
bind_eip | No | Boolean | Whether to bind an EIP. This parameter is mandatory and set to true when the network type is EIP. |
customize_sutnet_id | Yes | String | The ID of the subnet where the DRS instance resides, which corresponds to the network ID of the subnet created in the VPC of the destination database. The value is in UUID format. |
is_target_readonly | No | Boolean | Whether the destination DB instance can be read-only. This parameter is valid only when the destination DB instance is a MySQL DB instance and the job_direction value is up. In the DR scenario, this parameter is mandatory and set to true if the current cloud is a standby cloud. If this parameter is not specified, the default value is true. |
net_type | Yes | String | Network type. Value:
The VPC network cannot be selected in the DR scenario. |
node_type | Yes | String | The flavor type. Value:
|
node_num | No | Integer | The number of nodes. For a MongoDB database, this parameter indicates the number of source shards. This parameter is mandatory when the source database is a cluster. The value ranges from 1 to 32. The default value is 2 for MySQL dual-active DR. |
source_endpoint | Yes | Endpoint object | The source database information. |
target_endpoint | Yes | Endpoint object | The destination database information. |
task_type | Yes | String | Task mode. The default value is FULL_INCR_TRANS. Values:
In the single-active DR scenario, only FULL_INCR_TRANS is available. |
tags | No | Array of ResourceTag object | Tag information. Up to 20 tags can be added. |
description | No | String | Task description. The task description can contain a maximum of 256 characters and cannot contain the following special characters: !<>'&"\ |
multi_write | No | Boolean |
Default value: false |
sys_tags | No | Array of ResourceTag object | Enterprise project. If this parameter is not specified, the value is default. The key must be _sys_enterprise_project_id, and the value is the enterprise project ID. Only one enterprise project can be selected. |
expired_days | No | String | After a task is in the abnormal status for a period of time, the task is automatically stopped. The unit is day. The value ranges from 14 to 100. If this parameter is not transferred, the default value is 14. |
master_az | No | String | AZ where the primary task is located. You can obtain the value by calling the API for querying AZs where flavors are not sold out.
|
slave_az | No | String | AZ where the standby task is located. You can obtain the value by calling the API for querying AZs where flavors are not sold out.
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
db_type | No | String | Database type. Values:
|
az_code | No | String | azCode of the AZ where the database is located. |
region | No | String | Region where the DB instance is located. This parameter is mandatory when the database is a cloud instance, for example, an RDS or GaussDB(for MySQL) instance. In DR scenarios, if job_direction is set to down, this parameter is mandatory in source_endpoint. If job_direction is set to up, this parameter is mandatory in target_endpoint. |
inst_id | No | String | DB instance ID. This parameter is mandatory when the database is a cloud instance, for example, an RDS or GaussDB(for MySQL) instance. In DR scenarios, if job_direction is set to down, this parameter is mandatory in source_endpoint. If job_direction is set to up, this parameter is mandatory in target_endpoint. |
vpc_id | No | String | ID of the VPC where the database is located. |
subnet_id | No | String | ID of the subnet where the database is located. |
security_group_id | No | String | ID of the security group to which the database belongs. |
project_id | No | String | The project ID of an RDS or GaussDB(for MySQL) instance. |
db_password | No | String | Database password. |
db_port | No | Integer | Database port. The value is an integer ranging from 1 to 65535. |
db_user | No | String | Database user. |
inst_name | No | String | The name of an RDS or GaussDB(for MySQL) instance. |
ip | No | String | Database IP address. |
mongo_ha_mode | No | String | MongoDB HA mode. |
ssl_cert_password | No | String | SSL certificate password. The certificate file name extension is .p12. |
ssl_cert_check_sum | No | String | The checksum value of the SSL certificate, which is used for backend verification. This parameter is mandatory for secure connection to the source database. |
ssl_cert_key | No | String | SSL certificate content, which is encrypted using Base64. |
ssl_cert_name | No | String | SSL certificate name. |
ssl_link | No | Boolean | Whether SSL is enabled. |
cluster_mode | No | String | For MongoDB 4.0 or later, if the cluster instance cannot obtain the IP address of the sharded node, set source_endpoint to Sharding4.0+. Default value: Sharding4.0+ Values:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
key | No | String | Tag key. The value can contain a maximum of 36 characters, including letters, digits, underscores (_), and hyphens (-). |
value | No | String | Tag value. The value can contain a maximum of 43 characters, including letters, digits, underscores (_), and hyphens (-). |
Response Parameters¶
Status code: 202
Parameter | Type | Description |
---|---|---|
results | Array of CreateJobResp objects | The response body for creating tasks in batches. |
count | Integer | Total number of records. |
Parameter | Type | Description |
---|---|---|
id | String | Task ID. |
child_ids | Array of strings | Subtask ID set. This parameter is returned when there are subtasks. |
name | String | Task name. |
status | String | Task status. |
create_time | String | Creation time (timestamp). |
error_code | String | Error code, which is optional and indicates the returned information about the failure status. |
error_msg | String | Error message, which is optional and indicates the returned information about the failure status. |
Example Request¶
Example for creating real-time MySQL migration tasks in batches.
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" : "eu-de", "db_type" : "mysql", "inst_id" : "e05a3679efe241d8b5dee80b17c1a863in01" }, "is_target_readonly" : false, "bind_eip" : true } ] }
Example for creating real-time MySQL DR tasks (Current cloud as standby).
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" : "eu-de", "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 } ] }
Example for creating real-time migration tasks for DDS replica set instances.
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" : "eu-de", "db_type" : "mongodb", "inst_id" : "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02" }, "bind_eip" : true } ] }
Example for creating a MySQL primary/standby task.
https://192.107.54.184:10011/drs/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" : "eu-de", "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" } ] }
Example Response¶
Status code: 202
Accepted
{
"results" : [ {
"id" : "e11eaf8f-71ef-4fad-8890-aed7572ajb11",
"name" : "DRS-9228",
"status" : "CREATING",
"create_time" : "1599188556112"
} ],
"count" : 1
}
Status Code¶
Status Code | Description |
---|---|
202 | Accepted |
400 | Bad Request |
Error Code¶
For details, see Error Code.