华为云用户手册

  • 请求示例 批量异步创建Oracle到 GaussDB 分布式版按需实时同步任务,任务模式为全量+增量,公网网络类型。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-async-create { "jobs" : [ { "base_info" : { "name" : "DRS-1234", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "eip", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : "14", "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ], "alarm_notify" : { "alarm_to_user" : true, "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test", "delay_time" : 60 }, "speed_limit" : [ { "begin" : "16:00", "end" : "15:59", "speed" : "10" } ], "policy_config" : { "ddl_trans" : false }, "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "target_db_name", "db_encoding" : "utf8" }, "object_info" : { "source_db1" : { "name" : "source_db1", "all" : false, "tables" : { "source_tb1" : { "type" : "table", "name" : "source_tb1", "all" : true }, "source_tb2" : { "type" : "table", "name" : "source_tb2", "all" : true } } } } }, "node_info" : { "spec" : { "node_type" : "medium" } } } ] }
  • URI GET /v5/{project_id}/batch-async-jobs/{async_job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 async_job_id 是 String 批量异步创建的任务ID,由创建批量异步任务接口返回。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示查询该偏移量后面的记录。 limit 否 Integer 查询返回记录的数量限制。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从 IAM 服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • 响应示例 状态码: 200 OK { "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "status" : "CONFIGURATION", "create_time" : "2022-11-07T16:15:18Z", "base_info" : { "name" : "DRS-1234", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "eip", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : 14, "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "10deb576-8885-473b-a213-4d76e668dc0d", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ], "alarm_notify" : { "alarm_to_user" : true, "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test", "delay_time" : 60 }, "speed_limit" : [ { "begin" : "16:00", "end" : "15:59", "speed" : "10" } ], "policy_config" : { "ddl_trans" : false }, "node_info" : { "spec" : { "node_type" : "medium" } } }, { "id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "status" : "INCRE_TRANSFER_STARTED", "create_time" : "2022-11-05T15:32:22Z", "base_info" : { "name" : "DRS-2345", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "vpn", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : 14, "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "id" : "6a2aea81-c01d-4313-b93e-6a17f9351c51", "endpoint_name" : "oracle", "ip" : "10.154.227.134", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" }, "ssl" : { "ssl_link" : false } } ], "policy_config" : { "ddl_trans" : false }, "node_info" : { "spec" : { "node_type" : "high" } } } ], "total_count" : 2 } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 请求参数 表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 strings 批量查询任务详情。 page_req 否 Object 分页信息。 详情请参见表4。 表4 page_req字段数据结构说明 参数 是否必选 参数类型 描述 cur_page 否 Integer 当前页, 不能超过传入jobID数量除每页任务数量的最大页。 最小值:1 缺省值:1 per_page 否 Integer 每页item数量,填0获取全部item。 最小值:0 最大值:100 缺省值:5
  • 请求示例 查询任务详情请求示例: https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-detail { "jobs" : [ "24834eb6-be30-464e-a299-f7aa730jb101", "140b5236-88ad-43c8-811c-1268453jb101" ], "page_req" : { "cur_page" : 1, "per_page" : 10 } }
  • 响应参数 状态码: 200 表10 响应Body参数 参数 参数类型 描述 count Integer 总数。 results Array of objects 批量修改任务返回列表。 详情请参见表11。 表11 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 状态。取值: success:成功。 failed:失败。 error_code String 错误码。 error_msg String 错误信息。
  • 请求示例 批量修改指定任务的任务名称 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs" : [ { "job_id" : "140b5236-88ad-43c8-811c-1268453jb101", "name" : "testName" } ] } 批量设置指定任务的异常通知信息 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs" : [ { "job_id" : "8d0e8e36-a618-490d-8a46-8c61ac9jb502", "alarm_notify" : { "delay_time" : 0, "rto_delay" : 0, "rpo_delay" : 0, "alarm_to_user" : false, "subscriptions" : [ { "protocol" : "sms", "endpoints" : [ "150********" ] }, { "protocol" : "email", "endpoints" : [ "abc@huawei.com" ] } ] } } ] } 批量修改指定任务的任务名称和描述 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs" : [ { "job_id" : "140b5236-88ad-43c8-811c-1268453jb101", "name" : "testName", "description" : "test description" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。用户Token也就是调用IAM获取用户Token接口的响应值,请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • 响应示例 状态码: 200 OK { "is_full_trans_support_object" : false, "is_incre_trans_support_object" : false, "is_full_incre_trans_support_object" : false, "file_size" : "5.0", "support_object_import_engine" : [ "oracle-to-mrsKafka", "oracle-to-kafka" ], "is_support_column_mapping" : false, "is_database_support_search" : true, "is_table_support_search" : true }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 is_full_trans_support_object Boolean 全量任务是否支持对象选择。 is_incre_trans_support_object Boolean 增量任务是否支持对象选择。 is_full_incre_trans_support_object Boolean 全量加增量任务是否支持对象选择。 support_object_import_engine Array of strings 支持对象导入的引擎。 is_support_column_mapping Boolean 是否支持列映射。 is_database_support_search Boolean 库是否支持搜索。 is_schema_support_search Boolean schema是否支持搜索。 is_table_support_search Boolean 表是否支持搜索。 file_size String 对象导入支持的文件大小,单位为MB。 previous_select String 上一次选择迁移对象或者同步对象的方式。 为空时表示当前还未选择需要的方式。 srcImportObject:当前任务上次选择的方式为导入方式。 import_level String 对象导入类型。 table:表级。 database:库级。 is_import_cloumn Boolean 当前任务上次选择列加工的方式。 true: 当前任务上次选择列加工方式为导入方式。 false 或者 空:当前任务上次选择列加工方式为手动选择方式。
  • URI GET /v3/{project_id}/jobs/{job_id}/compare/{compare_job_id}/content-detail 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 compare_job_id 是 String 对比任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 target_db_name 否 String 目标库名称。 db_name 否 String 源库名称。 type 否 String 类型。 compare:对比 unCompare:无法对比 limit 否 Integer 每页显示的条目数量。 缺省值:1000 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset大于等于0。 缺省值:0
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total_count Integer 对比数量。 content_compare_result_infos Array of objects 对比信息列表。 详情请参见表5。 表5 content_compare_result_infost字段数据结构说明 参数 参数类型 描述 source_db String 源库名称。 target_db String 目标库名称。 source_table_name String 源库的表名称。 target_table_name String 目标库的表名称。 source_row_num Long 源库表行数。 target_row_num Long 目标库表行数。 difference_row_num Long 源库的表和目标库的表的差异值。 line_compare_result Boolean 行对比结果。 true:一致 false:不一致 content_compare_result Boolean 内容对比结果。 true:一致 false:不一致 message String 附加信息。 compare_line_config_filter String 行过滤配置条件
  • 响应示例 状态码: 200 OK { "total_count" : 2, "content_compare_result_infos" : [ { "source_db" : "db2", "source_table_name" : "tb2", "source_row_num" : 2434882, "target_db" : "db2", "target_table_name" : "tb2", "target_row_num" : 2434882, "difference_row_num" : 0, "line_compare_result" : true, "content_compare_result" : true }, { "source_db" : "db1", "source_table_name" : "tb1", "source_row_num" : 1, "target_db" : "db1", "target_table_name" : "tb1", "target_row_num" : 1, "difference_row_num" : 0, "line_compare_result" : true, "content_compare_result" : true } ] } 状态码: 400 Bad Request { "error_code" : "DRS.M00202", "error_msg" : "The value of jobId is invalid." }
  • 响应示例 状态码: 202 Accepted { "results" : [ { "id" : "e11eaf8f-71ef-4fad-8890-aed7572ajb11", "name" : "DRS-9228", "status" : "CREATING", "create_time" : "1599188556112" } ], "count" : 1 }
  • 响应参数 状态码: 202 表10 响应Body参数 参数 参数类型 描述 results Array of objects 批量创建任务的响应体集合。 详情请参见表11。 count Integer 总记录数。 表11 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" } ] }
  • 请求示例 更新租户指定ID任务对象信息 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r { "job" : { "type" : "db_object", "params" : { "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "mytest", "db_encoding" : "utf8" }, "object_info" : { "TEST1" : { "name" : "TEST1", "tables" : { "TBL_1" : { "name" : "TBL_1", "type" : "table", "all" : true, "is_synchronized" : false }, "TBL_2" : { "name" : "TBL_2", "type" : "table", "all" : true, "is_synchronized" : false } } }, "TEST2" : { "name" : "TEST2", "all" : true, "tables" : { "WT_1" : { "name" : "WT_1", "type" : "table", "all" : true, "is_synchronized" : false }, "WT_2" : { "name" : "WT_2", "type" : "table", "all" : true, "is_synchronized" : false } } } } } } } } 更新租户指定ID任务名称为DRS-1234。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r { "job" : { "type" : "name", "params" : { "base_info" : { "name" : "DRS-1234" } } } } 更新任务源库、目标库的信息。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r { "job" : { "type" : "endpoint", "params" : { "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "10deb576-8885-473b-a213-4d76e668dc0d", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ] } } }
  • 响应参数 状态码: 200 表35 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512 id String 任务ID。 name String 任务名称。 status String 操作结果。 状态码: 400 表36 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 202 Accepted { "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" } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 响应参数 状态码: 202 表35 响应Body参数 参数 参数类型 描述 jobs Array of objects 批量更新指定ID异步任务响应体。 详情请参见表36。 表36 jobs字段数据结构说明 参数 参数类型 描述 id String 任务ID。 name String 任务名称。 status String 操作结果。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表37 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求示例 更新租户指定ID批量异步任务详情,任务模式为全量+增量,公网网络类型。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/batch-async-jobs/bd4193aa-072d-4ce6-beec-adffc7252341 { "jobs" : [ { "type" : "all", "params" : { "job_id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "base_info" : { "name" : "DRS-1234", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "eip", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : "14", "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ], "alarm_notify" : { "alarm_to_user" : true, "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test", "delay_time" : 60 }, "speed_limit" : [ { "begin" : "16:00", "end" : "15:59", "speed" : "10" } ], "policy_config" : { "ddl_trans" : false }, "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "target_db_name", "db_encoding" : "utf8" }, "object_info" : { "source_db1" : { "name" : "source_db1", "all" : false, "tables" : { "source_tb1" : { "type" : "table", "name" : "source_tb1", "all" : true }, "source_tb2" : { "type" : "table", "name" : "source_tb2", "all" : true } } } } }, "node_info" : { "spec" : { "node_type" : "medium" } } } }, { "type" : "endpoint", "params" : { "job_id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.227.134", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" }, "ssl" : { "ssl_link" : false } } ] } } ] }
  • 请求示例 执行预检查(异步调用)。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r/action { "job" : { "action_name" : "precheck", "action_params" : { "precheck_mode" : "forStartJob" } } } 测试连接目标库(异步调用)。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r/action { "job" : { "action_name" : "network", "action_params" : { "endpoints" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ] } } } 测试连接源库(异步调用)。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r/action { "job" : { "action_name" : "network", "action_params" : { "endpoints" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_password" : "******", "id" : "971e1840-9395-4044-b6c8-00ef1f83ce48", "db_name" : "serviceName.orcl" }, "ssl" : { "ssl_link" : false } } ] } } } 创建对象对比任务(异步调用)。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/d0f96c1d-571f-4b63-98a5-3b85b36jb20r/action { "job" : { "action_name" : "create_compare", "action_params" : { "compare_task_param" : { "type" : "object" } } } } 创建行对比任务(异步调用)。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/d0f96c1d-571f-4b63-98a5-3b85b36jb20r/action { "job" : { "action_name" : "create_compare", "action_params" : { "compare_task_param" : { "type" : "lines", "option" : { "comparePolicy" : "normal" }, "db_object" : { "db1" : { "name" : "db1", "tables" : { "table1" : { "name" : "table1" } } } } } } } }
  • 响应示例 状态码: 200 OK { "status": "success" } 状态码: 202 Accepted { "query_id" : "c5c1ffb3-c902-4b31-a606-dfa1231831f9" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job id." }
  • 响应参数 状态码: 200 表29 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512 id String 任务ID。 name String 任务名称。 status String 操作结果。 状态码: 202 表30 响应Body参数 参数 参数类型 描述 query_id String 异步操作任务响应查询ID。 状态码: 400 表31 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 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" } ] } 状态码: 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" } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 请求示例 批量操作租户指定ID任务。 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" } ] }
  • 响应参数 状态码: 200 表29 响应Body参数 参数 参数类型 描述 jobs Array of objects 批量操作任务响应体。 详情请参见表30。 表30 jobs字段数据结构说明 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512 id String 任务ID。 name String 任务名称。 status String 操作结果。 状态码: 202 表31 响应Body参数 参数 参数类型 描述 jobs Array of objects 批量异步操作任务响应体。 详情请参见表32。 表32 jobs字段数据结构说明 参数 参数类型 描述 query_id String 异步操作任务响应查询ID。 id String 任务ID。 name String 任务名称。 状态码: 400 表33 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求示例 查询任务同步进度。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=progress 查询行对比任务概览 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=compare&query_type=overview&compare_type=line_compare&compare_task_id=1994b3e6-15ef-471e-8af1-7e2ed3e85b06&offset=0&limit=10 查询任务详情。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=detail 查询数据对比任务列表 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=compare&compare_type=data_compare&query_type=list&limit=10&offset=0 查询同步日志。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=log&offset=0&limit=10 查询测试连接结果。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=network&query_id=669c9c19-99e3-4628-8c90-397136266701
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
共100000条