批量修改任务
功能介绍
批量修改任务名称或描述,设置异常通知信息。
接口约束
- 源库和目标库均测试连接成功之后需要调用该接口,请按照示例填写源库、目标库信息,否则可能导致后续任务发生错误。
- 修改名称、描述、异常通知时,任务不处于结束或者删除状态时可以调用。
- 源库和目标库均测试连接成功之后调用,需要任务处于CONFIGURATION状态。
URI
PUT /v3/{project_id}/jobs/batch-modification
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| project_id | 是 | String | 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 | 
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| Content-Type | 是 | String | 指定类型为application/json。 缺省值:application/json | 
| X-Auth-Token | 是 | String | 从IAM服务获取的用户Token。 | 
| X-Language | 否 | String | 请求语言类型。 缺省值:en-us 取值: 
 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| jobs | 是 | Array of objects | 修改任务请求体。 详情请参见表4。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| job_id | 是 | String | 任务ID。 | 
| description | 否 | String | 任务描述,修改任务描述时必填。 最小长度:0 最大长度:256 | 
| name | 否 | String | 任务名称,需要修改任务名称时填写。 | 
| alarm_notify | 否 | Object | 设置异常通知信息。 详情请参见表5。 | 
| task_type | 否 | String | 任务模式,取值: 
 | 
| source_endpoint | 否 | Object | 源库信息,测试连接之后调用必填。 详情请参见表7。 | 
| target_endpoint | 否 | Object | 目标库信息,测试连接之后调用必填。 详情请参见表7。 | 
| node_type | 否 | String | 规格类型。取值: 
 | 
| engine_type | 否 | String | DRS任务引擎类型,测试连接之后修改调用时必填。 取值: 
 | 
| net_type | 否 | String | 网络类型,测试连接之后调用必填。取值: 
 | 
| store_db_info | 否 | Boolean | 是否保存数据库信息,测试连接之后调用必填。 | 
| is_recreate | 否 | Boolean | 是否为重建任务。 | 
| job_direction | 否 | String | 任务方向,测试连接之后调用必填。 取值: 
 | 
| is_target_readonly | 否 | Boolean | 目标实例是否限制为只读。 | 
| replace_definer | 否 | Boolean | 所有Definer是否迁移到该用户下,MySQL数据库支持该设置,测试连接之后修改调用时必填。取值: 
 | 
| tags | 否 | Array of object | 标签信息。 详情请参见表9。 | 
| db_use_type | 否 | String | 迁移类型。 取值: 
 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| delay_time | 否 | Long | 订阅延迟时间(单位为s)。 
 | 
| rto_delay | 否 | Long | RTO(Recovery Time Objective)延迟时间(单位为s)。 
 | 
| rpo_delay | 否 | Long | RPO(Recovery Point Objective)延迟时间(单位为s)。 
 | 
| alarm_to_user | 否 | Boolean | 异常告警是否通知用户,缺省值:false。 | 
| subscriptions | 否 | Array of objects | 收件方式与信息体,最多填写两个。 详情请参见表6。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| endpoints | 否 | Array of strings | 手机号或者邮箱列表,多个用逗号分隔,最多支持10个。 | 
| protocol | 否 | String | 收件方式。取值: 
 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| db_type | 否 | String | 数据库类型,测试连接之后修改调用时必填。取值: 
 | 
| az_code | 否 | String | 数据库所在可用区azCode。 | 
| region | 否 | String | 数据库实例所在Region,数据库为云上实例时,比如RDS实例时必填(灾备场景下job_direction为down时source_endpoint中该值为必填,job_direction为up时target_endpoint中该值为必填)。 | 
| inst_id | 否 | String | 数据库实例ID,数据库为云上实例时,比如RDS实例时必填(灾备场景下job_direction为down时source_endpoint中该值为必填,job_direction为up时target_endpoint中该值为必填)。 | 
| vpc_id | 否 | String | 数据库所在的虚拟私有云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场景时必填。 如果设置,需要手动在数据库中创建对应的库。 约束:不能超过128位,不能包含!<>&'"\特殊字符。 | 
| db_password | 否 | String | 数据库密码。 
         说明: 
         除不需要密码的引擎,其他引擎测试连接之后修改调用时必填。 | 
| db_port | 否 | Integer | 数据库端口。约束:输入范围为1-65535之间的整数。 | 
| db_user | 否 | String | 数据库用户。 
         说明: 
         除不需要用户名的引擎,其他引擎测试连接之后修改调用时必填。 | 
| inst_name | 否 | String | RDS实例名称。 | 
| ip | 否 | String | 数据库IP。 
         说明: 
         测试连接之后修改调用时必填。 | 
| mongo_ha_mode | 否 | String | mongo ha模式。 | 
| 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安全连接。 | 
| topic | 否 | String | kafka topic名称。 | 
| cluster_mode | 否 | String | MongoDB集群4.0及以上版本,当集群实例无法获取到分片节点的IP时,source_endpoint中需要填写,值为:Sharding4.0+。 缺省值:Sharding4.0+ 取值:Sharding4.0+ | 
| kafka_security_config | 否 | Object | Kafka安全认证相关,非安全认证不需要此参数。 表8。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| 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,支持以下四项,取值: 
 | 
| 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
| 参数 | 参数类型 | 描述 | 
|---|---|---|
| count | Integer | 总数。 | 
| results | Array of objects | 批量修改任务返回列表。 详情请参见表11。 | 
请求示例
- 批量修改指定任务的任务名称
    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@123.com" ] } ] } } ] }
- 批量修改指定任务的任务名称和描述
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs" : [ { "job_id" : "140b5236-88ad-43c8-811c-1268453jb101", "name" : "testName", "description" : "test description" } ] }
- MySQL任务测试连接成功之后调用
   https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs": [{ "job_id": "1fded2ab-ce99-4b0e-9cc9-9ce7e17jb101", "name": "DRS-5646-linxiaolu", "source_endpoint": { "ip": "192.168.0.27", "db_port": "3306", "db_user": "root", "db_password": "********", "ssl_link": false, "db_type": "mysql", "project_id": "054ba152d480d55b2f5dc0069e7ddef0" }, "target_endpoint": { "region": "region-1", "db_type": "mysql", "db_user": "root", "db_password": "********", "project_id": "054ba152d480d55b2f5dc0069e7ddef0", "inst_id": "3def1ac7f8ab4ae48d7c025339f80414in01" }, "node_type": "high", "engine_type": "mysql", "store_db_info": true, "net_type": "eip", "job_direction":"up", "replace_definer": true }] }
- MongoDB->DDS迁移任务测试连接成功之后调用
   https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs": [{ "job_id": "741d91cf-67e8-4126-ad0f-32f6cccjb105", "name": "DRS-4513", "source_endpoint": { "ip": "192.168.11.231:8635,192.168.10.12:8635", "db_port": 0, "db_user": "rwuser", "db_password": "********", "ssl_link": false, "db_type": "mongodb", "project_id": "0549a6a31000d4e82fd1c00c3d6f2d76", "db_name": "admin" }, "target_endpoint": { "region": "region-1", "db_type": "mongodb", "db_user": "rwuser", "db_password": "********", "project_id": "0549a6a31000d4e82fd1c00c3d6f2d76", "inst_id": "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02" }, "node_type": "high", "engine_type": "mongodb", "net_type": "eip", "job_direction":"up", "store_db_info": true }] }
- 批量修改指定任务模式
   https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-modification { "jobs": [ { "job_id": "140b5236-88ad-43c8-811c-1268453jb101", "task_type": "FULL_INCR_TRANS" } ] }
响应示例
状态码: 200
OK
{
  "results" : [ {
    "id" : "efa2bd29-8780-494f-a2ee-188b003ejb11",
    "status" : "success"
  } ],
  "count" : 1
}
 状态码
| 状态码 | 描述 | 
|---|---|
| 200 | OK | 
| 400 | Bad Request | 
错误码
请参见错误码。
 
    