华为云用户手册

  • 请求参数 表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 批量主备调换的任务详情ID请求列表。
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 count Integer 总数。 results Array of objects 批量查询RPO和RTO的响应体集合。 详情请参见表5。 表5 results字段数据结构说明 参数 参数类型 描述 job_id String 任务ID。 rpo_info Object RPO信息。 详情请参见表6。 rto_info Object RTO信息。 详情请参见表6。 error_code String 错误码。 error_msg String 错误信息。 表6 rpo_info和rto_info字段数据结构说明 参数 参数类型 描述 check_point String 检查点。 delay String 延迟(单位ms)。 gtid_set String gtid。 time String 当前时间 ,格式为“yyyy-MM-dd HH:mm:ss”。
  • 响应示例 状态码: 202 Accepted { "count" : 1, "results" : [ { "job_id" : "8d0e8e36-a618-490d-8a46-8c61ac9jb502", "rpo_info" : { "delay" : "0", "time" : "2020-12-18 15:47:05", "gtid_set" : "NA", "check_point" : "mysql-bin.000514:197" }, "rto_info" : { "delay" : "0", "time" : "2020-12-18 15:47:05", "gtid_set" : "NA", "check_point" : "mysql-bin.000514:197" } } ] }
  • 请求参数 表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 批量查询RPO和RTO的任务详情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 strings 批量查询进度任务ID请求列表。
  • 响应示例 状态码: 200 OK 查询灾备进度响应示例 1: { "count" : 1, "results" : [ { "progress" : "100", "job_id" : "8d0e8e36-a618-490d-8a46-8c61ac9jb502", "incre_trans_delay" : "0", "task_mode" : "FULL_INCR_TRANS", "transfer_status" : "INCRE_TRANSFER_STARTED", "process_time" : "1608274919000", "remaining_time" : "0" } ] } 查询灾备进度响应示例 2: { "count" : 2, "results" : [ { "progress" : "100", "job_id" : "edae91cb-5892-49b6-a529-4921fb26jb21", "incre_trans_delay" : "0", "task_mode" : "FULL_INCR_TRANS", "transfer_status" : "INCRE_TRANSFER_STARTED", "process_time" : "1594864576000", "remaining_time" : "10" }, { "progress" : "0", "job_id" : "f95c5d83-d0c9-42bd-b295-38c31cd1jb15", "incre_trans_delay" : "-1", "task_mode" : "FULL_INCR_TRANS", "transfer_status" : "FULL_TRANSFER_COMPLETE", "process_time" : "0", "remaining_time" : "0", "progress_map" : { "struct" : { "completed" : "94%", "remaining_time" : null }, "data" : { "completed" : "100%", "remaining_time" : null }, "index" : { "completed" : "100%", "remaining_time" : null } } } ] }
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 results Array of objects 批量结束任务或删除任务的响应体集合。 详情请参见表6。 count Integer 总数。 表6 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 状态。取值: success failed error_code String 错误码。 error_msg String 错误信息。
  • 请求示例 结束指定的两个任务 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-jobs { "jobs" : [ { "delete_type" : "terminate", "job_id" : "4c6ac8c0-2f51-426a-97b2-cb2c668jb201" }, { "delete_type" : "terminate", "job_id" : "6211d20d-0006-41da-836e-db3301ajb20b" } ] } 删除指定任务 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-jobs { "jobs" : [ { "delete_type" : "delete", "job_id" : "140b5236-88ad-43c8-811c-1268453jb101" } ] }
  • 响应示例 状态码: 202 Accepted 结束任务响应示例 { "count" : 2, "results" : [ { "id" : "4c6ac8c0-2f51-426a-97b2-cb2c668jb201", "status" : "success" }, { "id" : "6211d20d-0006-41da-836e-db3301ajb20b", "status" : "failed", "error_code" : "DRS.M01504", "error_msg" : "Another operation is being performed on the migration task or the migration task is abnormal. Try again later." } ] } 删除任务响应示例 { "count" : 1, "results" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "status" : "success" } ] }
  • 请求参数 表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字段数据结构说明 参数 是否必选 参数类型 描述 delete_type 是 String terminate:结束迁移任务,force_terminate:强制结束迁移任务,delete:删除迁移任务。 取值: terminate force_terminate delete 说明: 包年/包月任务需要先手动退订,然后delete_type参数设置为delete调用该接口删除任务。 job_id 是 String 任务ID。 is_show_breakpoint_position 否 Boolean MySQL为源的实时迁移、实时同步、实时灾备任务,结束任务时是否展示断点信息。缺省为null,表示不展示断点信息。
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 results Array of StartJobResp objects 批量启动实时灾备任务返回列表。 count Integer 总数。 表6 StartJobResp 参数 参数类型 描述 id String 任务ID。 status String 状态。取值: success failed order_id String 订单ID。 说明: 通过API创建的包年/包月任务返回该字段。 error_code String 错误码。 error_msg String 错误信息。
  • 请求参数 表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字段数据结构说明 参数 是否必选 参数类型 描述 job_id 是 String 任务ID。 start_time 否 String 任务启动时间,时间戳格式精确到毫秒,例如:1608188903063,取值为空代表立即启动。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 results Array of objects 批量查询预检查结果响应体集合。 详情请参见表5。 count Integer 总记录数。 表5 results字段数据结构说明 参数 参数类型 描述 precheck_id String 查询预检查结果的任务ID。 result Boolean 返回的预检查结果是否通过。true表示预检查通过,通过后才可进行启动任务。 process String 预检查进度百分比。 total_passed_rate String 预检查通过百分比。 rds_instance_id String RDS实例ID。 job_direction String 任务方向。取值: up:入云,灾备场景时对应本云为备。 down:出云,灾备场景时对应本云为主。 non-dbs:自建。 precheck_result Array of object 预检查各项结果。 详情请参见表6。 error_msg String 错误信息。 error_code String 任务错误码。 表6 precheck_result字段数据结构说明 参数 参数类型 描述 item String 检查项。 result String 检查结果。取值: PASSED ALARM FAILED failed_reason String 失败原因。 data String 加密的数据。 raw_error_msg String 行错误信息。 group String 检查项分组。 failed_sub_jobs Array of objects 失败的子任务信息。 详情请参见表7。 表7 failed_sub_jobs字段数据结构说明 参数 参数类型 描述 id String 预检查失败子任务ID。 name String 预检查失败子任务名称。 check_result String 检查结果。
  • 响应示例 状态码: 200 OK 实时迁移MySQL查询预检查结果响应示例 : { "count" : 1, "results" : [ { "result" : true, "process" : "100%", "precheck_id" : "140b5236-88ad-43c8-811c-1268453jb101", "total_passed_rate" : "100%", "rds_instance_id" : "e05a3679efe241d8b5dee80b17c1a863in01", "job_direction" : "up", "precheck_result" : [ { "item" : "dstDbDiskSize", "result" : "PASSED", "data" : "{\"diskSizeTimes\":\"1.5\",\"dstVolumeSize\":\"37660000000\",\"srcIndexSize\":0,\"size\":\"0\",\"srcIndexAmount\":0}", "group" : "db_disk_size" }, { "item" : "checkIncreSrcDbExistedInDstDb", "result" : "PASSED", "group" : "db_params" }, { "item" : "dbCharacterSetConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dbClockConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dbCollationServerConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dbIsolationLevelConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dbParamConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dbServerUuidConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dstMaxAllowedPacketCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "hasForeignKeyOnUnselectedTable", "result" : "PASSED", "group" : "db_params" }, { "item" : "innodbStrictModeConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "isUserRequireSslLink", "result" : "PASSED", "group" : "db_params" }, { "item" : "sqlModeConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "sqlModeNoEngine", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcBinlogFormatCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcBinlogRowImageCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbBinlogExpireLogsDays", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbBinlogIsOff", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbExistUnsupportEngineTable", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbIndexKeyLength", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbNameContainsUnsupportedSymbols", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbServerIdCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDstTableNameCaseSensitiveCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcHasNoPkTableWhenTgtHasInvisiblePk", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcRoutinesWithoutPrivilegeCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcTableNameContainsNonAscii", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcTriggerAndEventCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcViewNameContainsNonAscii", "result" : "PASSED", "group" : "db_params" }, { "item" : "srclogSlaveUpdatesCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "userRequirementIsEnoughForDefiner", "result" : "PASSED", "group" : "db_params" }, { "item" : "userSelectObjectsCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "dstStatusCheck", "result" : "PASSED", "data" : "", "group" : "db_target_status", "failed_reason" : "" }, { "item" : "dstDbPrivilegesIsEnough", "result" : "PASSED", "group" : "db_user_privilege" }, { "item" : "srcDbPrivilegesIsEnoughForIncre", "result" : "PASSED", "group" : "db_user_privilege" }, { "item" : "dbVersionMeetRequirement", "result" : "PASSED", "group" : "db_version" }, { "item" : "dstDbVersionSupport", "result" : "PASSED", "group" : "db_version" }, { "item" : "srcDbVersionSupport", "result" : "PASSED", "group" : "db_version" }, { "item" : "dstDbConnection", "result" : "PASSED", "group" : "network" }, { "item" : "srcDbConnection", "result" : "PASSED", "group" : "network" } ] } ] } 实时迁移DDS查询预检查结果响应示例 : { "count" : 1, "results" : [ { "result" : true, "process" : "100%", "precheck_id" : "a281f62f-4631-45d6-a2d3-679a9f4jb105", "total_passed_rate" : "100%", "rds_instance_id" : "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02", "job_direction" : "up", "precheck_result" : [ { "item" : "dstDbDiskSize", "result" : "PASSED", "data" : "{'size': '5263360', 'dstVolumeSize':'19089431762', 'diskSizeTimes':'1.5'}", "group" : "db_disk_size" }, { "item" : "srcAndDstCappedCollConsistency", "result" : "PASSED", "group" : "db_object_conflict_check" }, { "item" : "srcCollAlreadyExistedInDstColl", "result" : "PASSED", "group" : "db_object_conflict_check" }, { "item" : "srcViewAlreadyExistedInDstView", "result" : "PASSED", "group" : "db_object_conflict_check" }, { "item" : "rolesDependentCheck", "result" : "PASSED", "group" : "db_object_dependency_check" }, { "item" : "usersDependentCheck", "result" : "PASSED", "group" : "db_object_dependency_check" }, { "item" : "srcCollHasTtlIndex", "result" : "ALARM", "data" : "{\"srcHasTtlIndexColls\":\"fastunit.ttlsuoyin\"}", "group" : "db_params", "failed_reason" : "SRC_HAS_TTL_INDEXES" }, { "item" : "dbSslConsistency", "result" : "PASSED", "group" : "db_params" }, { "item" : "dstChunkNumCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "mongoTypeFitTransferMode", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcCollIndexNumCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcCollNameContainsUnsupportedSymbols", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbInstanceIsEmpty", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcDbNameContainsUnsupportedSymbols", "result" : "PASSED", "group" : "db_params" }, { "item" : "srcIdIndexCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "userSelectObjectsCheck", "result" : "PASSED", "group" : "db_params" }, { "item" : "dstStatusCheck", "result" : "PASSED", "data" : "", "group" : "db_target_status", "failed_reason" : "" }, { "item" : "dstDbPrivilegesIsEnough", "result" : "PASSED", "group" : "db_user_privilege" }, { "item" : "srcDbPrivilegesIsEnough", "result" : "PASSED", "group" : "db_user_privilege" }, { "item" : "dbVersionMeetRequirement", "result" : "PASSED", "group" : "db_version" }, { "item" : "dstDbVersionSupport", "result" : "PASSED", "group" : "db_version" }, { "item" : "srcDbVersionSupport", "result" : "PASSED", "group" : "db_version" }, { "item" : "dstDbConnection", "result" : "PASSED", "group" : "network" }, { "item" : "srcDbConnection", "result" : "PASSED", "group" : "network" }, { "item" : "srcShardKeyConfiguration", "result" : "ALARM", "data" : "{\"notConfigShardIndexColls\":\"ycsb.usertable,mgo.mycollection7,mgo.mycollection9,mgo.mycollection5,mgo.mycollection4,mgo.mycollection3,mgo.mycollection,mgo.mycollection8,mgo.mycollection2,mgo.mycollection6,testdb3.testuk,testdb3.coll2,testdb3.coll6,testdb3.coll1,testdb3.Coll1,testdb3.testuk2,testdb3.coll5,testdb3.coll4,testdb1.coll6,testdb1.coll1,testdb1.testuk2,testdb1.coll2,testdb1.testuk,testdb1.coll5,testdb1.coll4,testdb1.Coll1,Testdb5.coll1,Testdb5.collx,Testdb5.Coll1,fastunit.gudingjihe,fastunit.geohaystack,fastunit.coll,fastunit.weiyisuoyin,fastunit.testSpecial\\\\u4E2D\\\\u6587~!@#%^&*()_+=-[]{};:?,`,fastunit.log,fastunit.twoD,fastunit.lianhesuoyin,fastunit.xishusuoyin,fastunit.quanwensuoyin,fastunit.ttlsuoyin,fastunit.putongsuoyin,fastunit.collcount,fastunit.shuzusuoyin,fastunit.twodsphere,fastunit.qiantaowendangsuoyin,fastunit.indexpartial\"}", "group" : "src_info_check", "failed_reason" : "SRC_INSTANCE_TYPE_IS_REPLICA_SET" }, { "item" : "checkBalanceStatus", "result" : "PASSED", "group" : "src_info_check" }, { "item" : "srcMongoInstanceType", "result" : "PASSED", "group" : "src_info_check" } ] } ] }
  • 请求示例 查询DDS实时迁移预检查结果 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck-result { "jobs" : [ "a281f62f-4631-45d6-a2d3-679a9f4jb105" ] } 查询MySQL实时迁移预检查结果 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck-result { "jobs" : [ "140b5236-88ad-43c8-811c-1268453jb101" ] }
  • 请求参数 表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 批量查询预检查结果请求列表。 约束:不能包含空对象。集合中的元素取值严格匹配UUID规则。任务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字段数据结构说明 参数 是否必选 参数类型 描述 job_id 是 String 任务ID。 precheck_mode 是 String 预检查模式。取值: forStartJob:任务配置中,首次启动时传该值。 forRetryJob:任务增量中,编辑对象后预检查,或者任务失败后重试,传该值。 说明: 请按照任务对应的状态传值,否则可能导致预检查失败,影响任务启动。
  • 请求示例 MySQL实时迁移任务首次启动预检查 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck { "jobs" : [ { "job_id" : "140b5236-88ad-43c8-811c-1268453jb101", "precheck_mode" : "forStartJob" } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 results Array of objects 预检查响应体。 详情请参见表6。 count Integer 总数。 表6 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 precheck_id String 预检查ID。 status String 成功或失败的状态。取值: success failed error_code String 错误码。 error_msg String 错误信息。
  • 请求示例 指定部分库、表对象进行迁移 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-select-objects { "jobs" : [ { "job" : [ { "id" : "fastunit", "parent_id" : null, "object_name" : "fastunit", "object_type" : "database", "select" : "partial", "object_alias_name" : null }, { "id" : "fastunit-*-*-coll", "parent_id" : "fastunit", "object_name" : "coll", "object_type" : "table", "select" : "true", "object_alias_name" : null }, { "id" : "ycy1", "parent_id" : null, "object_name" : "ycy1", "object_type" : "database", "select" : "partial", "object_alias_name" : null }, { "id" : "ycy1-*-*-coll", "parent_id" : "ycy1", "object_name" : "coll", "object_type" : "table", "select" : "true", "object_alias_name" : null }, { "id" : "ycy1-*-*-collcount", "parent_id" : "ycy1", "object_name" : "collcount", "object_type" : "table", "select" : "true", "object_alias_name" : null } ], "job_id" : "57fd2692-0ebe-4714-9b59-fe7aa65djb15", "selected" : true } ] } 选择全部对象进行迁移 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-select-objects { "jobs" : [ { "job" : [ ], "job_id" : "e59f5eef-2bcc-4461-b9ac-10aded44jb15", "selected" : false } ] }
  • 响应参数 状态码: 202 表6 响应Body参数 参数 参数类型 描述 all_counts Long 总数。 results Array of objects 批量对象选择响应列表。 详情请参见表7。 表7 results字段数据结构说明 参数 参数类型 描述 job_id String 任务ID。 status Boolean 选择对象任务成功标志。 error_code String 错误码。 error_msg String 错误信息。
  • 请求参数 表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 批量更新数据库对象请求任务ID列表。 详情请参见表4。 表4 jobs字段数据结构说明 参数 是否必选 参数类型 描述 job_id 是 String 任务ID。 selected 否 Boolean 是否进行对象选择,不填默认为否。 是:自定义迁移对象。 否:全部迁移。 sync_database 否 Boolean 是否库级同步。 job 否 Array of objects 数据对象选择信息,selected为true时必填。 详情请参见表5。 表5 job字段数据结构说明 参数 是否必选 参数类型 描述 id 否 String object_type为database时,为库名;object_type为table或者view时,字段值参考示例。 parent_id 否 String object_type为table或view时需要填写,为库名。 object_type 否 String 类型。取值: database table schema view object_name 否 String 数据库对象名称,库名、表名、视图名。 select 否 String 是否选中,值为true会进行迁移,false该数据库对象不会迁移,partial为迁移库下面的部分表,不填默认为false。 object_alias_name 否 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" } ] }
  • 响应参数 状态码: 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 错误信息。
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 results Array of objects 批量测试连接响应体集合。 详情请参见表8。 count Integer 总记录数。 表8 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 测试结果。取值: true:表示成功。 false:表示失败。 error_code String 错误码。 error_msg String 错误信息。 success Boolean 是否成功。
  • 请求示例 MySQL主备任务测试连接 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/cluster/batch-connection { "jobs": [{ "action": "testConnection", "job_id": "0ac45233-8de7-4f02-9de1-d71cab7jb201", "property": "[{\"ip\":\"192.168.2.232:3306\",\"dbtype\":\"mysql\",\"dbuser\":\"root\",\"dbpassword\":\"******\",\"ssllink\":false,\"projectId\":\"054ba152d480d55b2f5dc0069e7ddef0\",\"region\":\"cn-xianhz-1\",\"nettype\":\"eip\",\"endpointtype\":\"so\"}]" }] } 源库为DDS集群测试连接 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/cluster/batch-connection { "jobs" : [ { "action" : "testConnection", "job_id" : "35d0d60b-4605-4686-b35d-3a3d059fjb15", "property" : "[{\"dbtype\":\"mongodb\",\"dbport\":0,\"ssllink\":false,\"nettype\":\"eip\",\"endpointtype\":\"so\",\"encrypt\":{\"elementId\":\"encrypt_switch\",\"offLabel\":\"OFF\",\"onLabel\":\"ON\",\"disable\":false,\"ip\":\"192.168.7.217:8635\",\"dbName\":\"admin\",\"dbuser\":\"rwuser\",\"dbpassword\":\"******\"},{\"dbtype\":\"mongodb\",\"dbport\":0,\"ssllink\":false,\"nettype\":\"eip\",\"endpointtype\":\"so\",\"encrypt\":{\"elementId\":\"encrypt_switch\",\"offLabel\":\"OFF\",\"onLabel\":\"ON\",\"disable\":false,\"ip\":\"192.168.7.72:8635\",\"dbName\":\"admin\",\"dbuser\":\"rwuser\",\"dbpassword\":\"******\"},{\"ip\":\"192.168.7.37:8635\",\"nettype\":\"eip\",\"dbtype\":\"mongodb\",\"dbport\":0,\"dbuser\":\"rwuser\",\"dbpassword\":\"******\",\"ssllink\":false,\"sslcertkey\":\"\",\"sslcertname\":\"\",\"sslcertchecksum\":\"\",\"endpointtype\":\"ls\",\"dbName\":\"admin\"}]" } ] }
  • 请求参数 表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字段数据结构说明 参数 是否必选 参数类型 描述 action 是 String 需要执行的特定操作。 job_id 是 String 任务ID(集群模式取父任务的任务ID)。 property 是 String 操作对应的参数。 说明: 按照表5中的参数拼成json后转义。 表5 property字段数据结构说明 名称 是否必选 参数类型 说明 dbtype 是 String 数据库类型。 dbport 是 Integer 数据库端口,mongodb时取值0。 ssllink 是 boolean 是否是SSL安全连接,取值: true false nettype 是 String 网络类型,取值: vpn vpc eip endpointtype 是 String endpoint类型,取值: so:源库。 ta:目标库。 ls : 分片数据库。 当源库是集群时,数据库ip对应的endpointtype是so, 分片数据库对应的endpointtype是ls。 ip 是 String 数据库IP。 dbName 是 String 数据库名称。 instid 否 String 数据库实例ID,云上实例需要填写。 dbuser 是 String 数据库用户名。 dbpassword 是 String 数据库密码。 sslcertkey 否 String SSL证书内容,SSL连接时需要。 sslcertname 否 String SSL证书名字,SSL连接时需要。 sslcertchecksum 否 String SSL证书内容checksum值,SSL连接时需要。 kafkaSecurityConfig 否 Object Kafka认证方式为安全认证时填写。 详情请参见表6。 表6 kafkaSecurityConfig字段数据结构说明 参数 是否必选 参数类型 描述 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 证书密码,安全协议为SSL、SASL_SSL时必填。 endpoint_algorithm 否 String 主机名端点识别算法,对应Kafka字段:ssl.endpoint.identification.algorithm,指定通过服务端证书验证服务端主机名的端点识别算法,不填表示禁用主机名验证。 sasl_mechanism 否 String SASL机制,用于客户端连接的SASL机制,对应Kafka字段:sasl.mechanism,支持以下四项,取值: GSSAPI PLAIN SC RAM -SHA-256 SCRAM-SHA-512 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证书密码,开启SSL双向认证时需要。对应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。
  • 请求示例 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" } ] }
  • 请求参数 表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_PLAINTEXT、SASL_SSL时必填。对应Kafka字段:sasl.mechanism,支持以下四项,取值: GSSAPI PLAIN SCRAM-SHA-256 SCRAM-SHA-512 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私钥密码,开启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 是否成功。
共100000条