Batch Performing Operations on Tasks with Specified IDs
Function
This API is used to batch perform operations on tasks with specified IDs.
Constraints
- This API can be used only in certain regions. For details, see Endpoints.
URI
POST /v5/{project_id}/jobs/action
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID of a tenant in a region. For details about how to obtain the project ID, see Obtaining a Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Content-Type |
Yes |
String |
MIME type of the request body. Use the default value application/json. For APIs used to upload objects or images, the value varies depending on the flow type. The default value is application/json. |
X-Auth-Token |
Yes |
String |
User token obtained from IAM. It is a response to the API for obtaining a user token. This API is the only one that does not require authentication. After a request is processed, the value of X-Subject-Token in the header is the token value. |
X-Language |
No |
String |
Request language type. Default value: en-us Enumerated values:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
jobs |
Yes |
Array of objects |
Request body for performing operations on tasks in batches. For details, see Table 4. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
job_id |
No |
String |
Task ID. This parameter is mandatory for batch operations. In the multi-task scenario, this parameter is set to the value of master_job_id returned by the parent task details. |
action_name |
Yes |
String |
Name of an operation. Values:
Enumerated values:
|
action_params |
No |
Object |
Parameter of an operation. For details, see Table 5. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
endpoints |
No |
Array of objects |
Database information. For details, see Table 6. |
precheck_mode |
No |
String |
Pre-check mode. |
skip_precheck_info |
No |
Object |
Parameter for skipped pre-check items. For details, see Table 13. |
pause_mode |
No |
String |
Task pause mode. Set this parameter when a task is paused. To stop capturing logs of the source database, set the parameter to all. Default value: target. |
start_time |
No |
String |
Scheduled start time of a task. |
compare_task_param |
No |
Object |
Information body for performing operations on a comparison task. For details, see Table 14. |
is_sync_re_edit |
No |
Boolean |
Set this parameter to true when you resume a task after editing it. |
force_delete |
No |
Boolean |
Set this parameter to true when a task is forcibly stopped. |
public_ip_config |
No |
Object |
Public IP address of a tenant. For details, see Table 27. |
replay_config |
No |
Object |
Workload replay parameter information. For details, see Table 28. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
db_type |
Yes |
String |
Database type. The value can be:
Enumerated values:
|
endpoint_type |
Yes |
String |
DB instance type. Values:
Enumerated values:
|
endpoint_role |
Yes |
String |
DB instance role. Values:
Enumerated values:
|
endpoint |
Yes |
Object |
Basic information body of the database. For details, see Table 7. |
cloud |
No |
Object |
Region and project where a DB instance is located. For details, see Table 8. |
vpc |
No |
Object |
Information about the VPC, subnet, and security group where a DB instance resides. For details, see Table 9. |
config |
No |
Object |
Basic information body of database settings. For details, see Table 10. |
ssl |
No |
Object |
Information body of the database SSL certificate. For details, see Table 11. |
customized_dns |
No |
Object |
Custom DNS server. For details, see Table 12. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
No |
String |
Database information ID. |
endpoint_name |
Yes |
String |
Database scenario type. The value can be:
Enumerated values:
|
ip |
No |
String |
Database IP address. Constraints:
Example:
|
db_port |
No |
String |
Database port. The value is an integer ranging from 1 to 65535. |
db_user |
Yes |
String |
Database username. |
db_password |
Yes |
String |
Database password. |
instance_id |
No |
String |
ID of a Huawei Cloud DB instance. |
instance_name |
No |
String |
Name of a Huawei Cloud DB instance. |
db_name |
No |
String |
Database name. Example:
|
source_sharding |
No |
Array of objects |
Information about the physical source database. For details, see Table 7. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
region |
Yes |
String |
Region ID. This parameter is mandatory when DB Instance Type is set to ecs (database built on Huawei Cloud ECSs) or cloud (Huawei cloud database). For details, see Regions and Endpoints. Note: If there are subprojects in a region, the region ID is the combination of regional project ID and subproject ID, which are combined using an underscore (_). |
project_id |
Yes |
String |
Project ID of a tenant in a region. For details about how to obtain the project ID, see "Obtaining a Project ID". |
az_code |
No |
String |
Name of the AZ where the database is located. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
vpc_id |
Yes |
String |
ID of the VPC where a DB instance is located. To obtain the ID, perform the following steps: Method 1: Log in to the VPC console and view the VPC ID on the VPC details page. Method 2: Call the API for querying VPCs. For details, see Querying VPCs. |
subnet_id |
Yes |
String |
ID of the subnet where a DB instance is located. To obtain the ID, perform the following steps: Method 1: Log in to the VPC console and click the target subnet on the Subnets page to view the network ID on the displayed page. Method 2: Call the API for querying subnets. For details, see Querying Subnets. |
security_group_id |
No |
String |
ID of the security group where a DB instance is located. To obtain the ID, perform the following steps: Method 1: Log in to the VPC console. Choose Access Control > Security Groups in the navigation pane on the left. On the displayed page, click the target security group. You can view the security group ID on the displayed page. Method 2: Call the API for querying security groups. For details, see Querying Security Groups. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
is_target_readonly |
No |
Boolean |
Whether the destination DB instance is set to read-only. This parameter is available only when job_direction is set to up during MySQL migration and DR. In the DR scenario, this parameter is mandatory and set to true if the current cloud is the standby in single-active DR. If this parameter is not specified, the default value is true. Default value: true |
node_num |
No |
Integer |
Number of subtasks connected to the source cluster Redis instance for data migration from cluster Redis to GeminiDB Redis. The value ranges from 1 to 16 and cannot be greater than the number of shards in the source cluster Redis instance. Set this parameter based on the scale of the source cluster Redis instance. You are advised to set one subtask to connect to four shards in the source cluster Redis instance. Minimum value: 1 Maximum value: 16 Default value: 0 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
ssl_link |
No |
Boolean |
Whether SSL is enabled. If SSL is enabled, the value of this parameter is true. |
ssl_cert_name |
No |
String |
SSL certificate name. |
ssl_cert_key |
No |
String |
SSL certificate content, which is encrypted using Base64. |
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_password |
No |
String |
SSL certificate password. This parameter is mandatory if the certificate file name extension is .p12. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
is_set_dns |
Yes |
Boolean |
Specifies whether to set your own DNS server. |
set_dns_action |
Yes |
String |
Behavior of setting your own DNS server.
Enumerated values:
|
dns_ip |
Yes |
String |
DNS server IP address. Minimum length: 0 Maximum length: 15 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
skipped_precheck_list |
Yes |
Array of strings |
Skipped pre-check item. |
skip_reason |
Yes |
String |
Reason for skipping the pre-check item. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
compare_task_id |
No |
String |
This parameter is mandatory for canceling a comparison task. |
type |
No |
String |
Comparison task mode. Values:
Enumerated values:
|
start_time |
No |
String |
Scheduled tart time, in timestamp format. |
option |
No |
Map<String,String> |
Comparison policy. |
db_object |
No |
Map<String,DatabaseObject> |
Comparison object. For details, see Table 23. |
data_process_info |
No |
Array of objects |
Request body for updating a data processing rule. For details, see Table 15. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
filter_conditions |
No |
Array of objects |
Request body for data processing rules for a specified task. For details, see Table 16. |
is_batch_process |
No |
Boolean |
The value is true for database-level and batch table-level data processing and false for single-table data processing. |
add_columns |
No |
Array of objects |
Additional column. This parameter is mandatory when adding additional columns is required. Note: You must use additional columns to avoid data conflicts in many-to-one operations. For details, see Table 17. |
ddl_operation |
No |
Map<String,String> |
DDL operations to be migrated or synchronized in an incremental task. If this parameter is set to table, DDL operations including CREATE TABLE, ALTER TABLE, DROP TABLE, and RENAME TABLE can be migrated or synchronized. If this parameter is left blank, DDL operations cannot be migrated or synchronized. |
dml_operation |
No |
String |
DML operations to be migrated or synchronized.
If this parameter is left blank, DML operations cannot be migrated or synchronized in an incremental task. |
db_object_column_info |
No |
Object |
Column mapping and filtering information. This parameter is mandatory when column mapping and filtering information is required. For details, see Table 18. |
db_or_table_rename_rule |
No |
Object |
Database table mapping rule. For details, see Table 20. |
db_object |
No |
Object |
Data processing object information, which is mandatory when column mapping and data filtering conditions are verified. For details, see Table 21. |
is_synchronized |
No |
Boolean |
Whether the rule has been synchronized to the destination database. |
source |
No |
String |
Comparison source.
Enumerated values:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
value |
No |
String |
Filtering condition. When filtering_type is set to configConditionalFilter, the default value is config. When filtering_type is set to contentConditionalFilter, the default value is the filtering condition.
NOTE:
|
filtering_type |
No |
String |
Filter condition type.
Enumerated values:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
column_type |
No |
String |
Column type. |
column_name |
No |
String |
Column name. |
column_value |
No |
String |
Column value. |
data_type |
No |
String |
Data type of a column. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
db_name |
No |
String |
Database name. |
schema_name |
No |
String |
Schema name. |
table_name |
No |
String |
Table name. |
column_infos |
No |
Array of objects |
Column information. For details, see Table 19. |
total_count |
No |
Integer |
Total number of database column records, which is irrelevant to pagination and is used only as a return body parameter. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
column_name |
No |
String |
Column name. |
column_type |
No |
String |
Column type. |
primary_key_or_unique_index |
No |
String |
Primary key or unique index. |
column_mapped_name |
No |
String |
Mapped column name. |
is_filtered |
No |
Boolean |
Whether the column is filtered. |
is_partition_key |
No |
Boolean |
Whether the column is a partition column. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
prefix_name |
No |
String |
Prefix name. When type is set to prefixAndSuffix, this parameter is mandatory, and only a prefix is added to the database table name. If suffix_name is also specified, both a prefix and a suffix are added to the database table name. |
suffix_name |
No |
String |
Suffix name. When type is set to prefixAndSuffix, this parameter is mandatory, and only a suffix is added to the database table name. If prefix_name is also specified, both a prefix and a suffix are added to the database table name. |
type |
No |
String |
Database table mapping type. prefixAndSuffix: prefix, suffix, or prefix and suffix. Enumerated values:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
object_scope |
Yes |
String |
Migration or synchronization object scope. The value can be:
Enumerated values:
|
target_root_db |
No |
object |
Destination database for database object migration or synchronization. This parameter is mandatory for database synchronization from Layer 2 to Layer 3. For details, see Table 22. |
object_info |
No |
Map<String,DatabaseObject> |
Object information for migration or synchronization. If object_scope is set to all, leave this parameter blank. If object_scope is set to database or table, this parameter is mandatory. For details, see Table 23. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
db_name |
No |
String |
Database name. |
db_encoding |
No |
String |
Encoding format. The default value is UTF-8. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
sync_type |
No |
String |
Type of the database in real-time synchronization. Values: config: This parameter is mandatory only when the database is used as an association database in advanced settings for data filtering. In this case, the database and its schemas and tables will not be synchronized to the destination database. The name and all parameters do not take effect. Enter the associated objects in schemas and tables.
NOTE:
To synchronize the database-level object, set sync_type to config for the lower-level object. Enumerated values:
|
name |
No |
String |
Name of the database in the destination database (database name mapping). |
all |
No |
Boolean |
Whether to migrate or synchronize the entire database.
NOTE:
|
schemas |
No |
Map<String,SchemaObject> |
Schema to be migrated or synchronized. This parameter is mandatory when all is set to false. For details, see Table 24. |
tables |
No |
Map<String,TableObject> |
Table to be migrated or synchronized. This parameter is mandatory when all is set to false. For details, see Table 25. |
total_table_num |
No |
Integer |
Number of tables in the database. If the number of tables exceeds the threshold, this parameter is not displayed. |
is_synchronized |
No |
Boolean |
Whether synchronization has been performed. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
sync_type |
No |
String |
Type of the schema in real-time synchronization. Values: config: This parameter is mandatory only when the schema is used as an association schema in advanced settings for data filtering. In this case, the schema and its tables will not be synchronized to the destination database. The name and all parameters do not take effect. Enter the associated objects in tables.
NOTE:
To synchronize the schema-level object, set sync_type to config for the lower-level object. |
name |
No |
String |
Name of the schema in the destination database (schema name mapping). |
all |
No |
Boolean |
Whether to migrate or synchronize the entire schema.
NOTE:
|
tables |
No |
Map<String,TableObject> |
Table to be migrated or synchronized. This parameter is mandatory when all is set to false. For details, see Table 25. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
sync_type |
No |
String |
Type of the table in real-time synchronization. Values: config: This parameter is mandatory only when the table is used as an association table in advanced settings for data filtering. In this case, the table and its columns will not be synchronized to the destination database. The name, all, filtered, and filter_conditions parameters do not take effect. Enter the associated objects in columns and the configuration criteria in advanced settings for data filtering in config_conditions.
NOTE:
To synchronize the table-level object, set sync_type to config for the lower-level object. |
type |
No |
String |
Object type. Values:
Enumerated values:
|
name |
No |
String |
Name of the table in the destination database (table name mapping). |
all |
No |
Boolean |
Whether to migrate or synchronize the entire table.
NOTE:
|
db_alias_name |
No |
String |
Mapping of database names at the table level in the one-to-many scenario. |
schema_alias_name |
No |
String |
Mapping of schema names at the table level in the one-to-many scenario. |
filtered |
No |
Boolean |
Whether to filter data in the table. |
filter_conditions |
No |
Array of strings |
Filtering criteria for the table data. The processing rule value is a SQL statement. The value contains a maximum of 512 characters. Minimum length: 0 Maximum length: 512 |
config_conditions |
No |
Array of strings |
Configuration criteria in advanced settings for data filtering of the table. This parameter is mandatory when the table is used as an association table for query. The processing rule value is a SQL statement. The value contains a maximum of 512 characters. Minimum length: 0 Maximum length: 512 |
is_synchronized |
No |
Boolean |
Whether synchronization has been performed. |
columns |
No |
Map<String,ColumnObject> |
Columns to be synchronized, mapped, filtered, or added. This parameter is mandatory when column filtering, column mapping, and additional columns are required. This parameter takes effect only in real-time synchronization tasks. This parameter is mandatory when all is set to false. For details, see Table 26. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
sync_type |
No |
String |
Type of the column in real-time synchronization. Values: config: This parameter is mandatory only when the column is used as an association column in advanced settings for data filtering. If the column is a primary key column or index column required for optimizing the query, primary_key_for_data_filtering or index_for_data_filtering is mandatory.
NOTE:
Whether to synchronize the column to the destination database depends on the filtered parameter, which is different from the database, schema, and table-level synchronization. |
primary_key_for_data_filtering |
No |
String |
Whether the column is a primary key column in advanced settings for data filtering. If the column is a primary key column, set this parameter to the column name. Otherwise, leave this parameter blank. |
index_for_data_filtering |
No |
String |
Whether the column is an index column required for optimizing the query. The index is added to the cached data. It does not affect the source table. If the column is an index column in advanced settings for data filtering, this parameter is mandatory. Otherwise, leave this parameter blank. |
name |
No |
String |
Name of the column in the destination database (column name mapping). If the column is an additional column, the value must be the same as the column name in the table-level object. |
type |
No |
String |
Data type of the column. Column filtering: Enter the data type of the source column. Additional column adding: Enter the data type of the new column. The values and constraints vary depending on the operation type. Values:
|
primary_key_for_column_filtering |
No |
String |
Whether the column is a primary key column in column mapping. If the column is a primary key column, set this parameter to PRI. Otherwise, leave this parameter blank. |
filtered |
No |
Boolean |
Whether the column is filtered out. This parameter cannot be used together with the additional parameter. Values:
|
additional |
No |
Boolean |
Whether the column is an additional column. If the column is an additional column, the value of name must be the same as the column name in the table-level object and cannot be used together with the filtered parameter. |
operation_type |
No |
String |
Operation type. The new column is filled with a specific operation type. Values:
|
value |
No |
String |
Value of the additional column. Note:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
Yes |
String |
ID of a specified EIP. |
public_ip |
Yes |
String |
EIP. |
type |
Yes |
String |
Type of a task with an EIP bound.
Enumerated values:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
db_instance_id |
Yes |
String |
Source instance ID. |
cloud_type |
Yes |
String |
Cloud type.
Enumerated values:
|
ak |
Yes |
String |
AK information of other clouds. |
sk |
Yes |
String |
SK information of other clouds. |
db_source |
Yes |
String |
Source of the source database. The value can be:
Enumerated values:
|
region |
Yes |
String |
Region name of other clouds. |
traffic_source |
Yes |
String |
Workload file source.
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
jobs |
Array of objects |
Response body for performing operations on tasks in batches. For details, see Table 30. |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. Minimum length: 12 Maximum length: 12 |
error_msg |
String |
Error message. Minimum length: 1 Maximum length: 512 |
id |
String |
Task ID. |
name |
String |
Task name. |
status |
String |
Operation result. |
Status code: 202
Parameter |
Type |
Description |
---|---|---|
jobs |
Array of objects |
Response body for asynchronously performing operations on tasks in batches. For details, see Table 32. |
Parameter |
Type |
Description |
---|---|---|
query_id |
String |
Query ID of the asynchronous operation task. |
id |
String |
Task ID. |
name |
String |
Task name. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. Minimum length: 12 Maximum length: 12 |
error_msg |
String |
Error message. Minimum length: 1 Maximum length: 512 |
Example Request
Batch performing operations on tasks with specified IDs
https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/action { "jobs" : [ { "job_id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "action_name" : "start" }, { "job_id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "action_name" : "stop" } ] }
Example Response
Status code: 200
OK
{ "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name" : "DRS-1234", "status" : "Success" }, { "id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "name" : "DRS-2345", "status" : "Failed", "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID" } ] }
Status code: 202
Accepted
{ "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name" : "DRS-1234", "query_id" : "7debc9c-8e09-4a5d-8dd6-cc44f45566" }, { "id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "name" : "DRS-2345", "query_id" : "7debc9c-8e09-4a5d-8dd6-cc44f45566" } ] }
Status code: 400
Bad Request
{ "error_code" : "DRS.10000001", "error_msg" : "Failed." }
Status Code
Status Code |
Description |
---|---|
200 |
OK |
202 |
Accepted |
400 |
Bad Request |
Error Code
For details, see Error Code.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot