批量修改任务 - BatchUpdateJob
功能介绍
批量修改任务名称或描述,设置异常通知信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
接口约束
- 源库和目标库均测试连接成功之后需要调用该接口,请按照示例填写源库、目标库信息,否则可能导致后续任务发生错误。
- 修改名称、描述、异常通知时,任务不处于结束或者删除状态时可以调用。
- 源库和目标库均测试连接成功之后调用,需要任务处于CONFIGURATION状态,双主灾备时父任务不支持调用。
- 为保证接口调用性能,建议批量调用数量不超过10个。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
PUT /v3/{project_id}/jobs/batch-modification
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 参数解释: 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 约束限制: 不涉及。 取值范围: application/json 默认取值: application/json |
| X-Auth-Token | 是 | String | 参数解释: 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-Language | 否 | String | 参数解释: 请求语言类型。 约束限制: 不涉及。 取值范围:
默认取值: en-us |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| jobs | 是 | Array of objects | 参数解释: 修改任务请求体列表,包含需要修改的一个或多个任务信息。 详情请参见表4。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| job_id | 是 | String | 参数解释: 任务ID,用于唯一标识一个数据复制任务,在修改任务时作为任务的识别凭证。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| description | 否 | String | 参数解释: 任务描述,用于补充说明任务的用途或备注信息。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| name | 否 | String | 参数解释: 任务名称,用于标识和区分不同的数据复制任务。 约束限制: 需要修改任务名称时填写。 取值范围: 不涉及。 默认取值: 不涉及。 |
| alarm_notify | 否 | Object | 参数解释: 设置异常通知信息,用于设置任务异常时的告警通知方式。 详情请参见表5。 |
| task_type | 否 | String | 参数解释: 任务模式,指定数据复制任务的执行方式。 约束限制: 目前仅支持MySQL到TaurusDB同步任务在配置中或者增量中时修改。 取值范围:
默认取值: 不涉及。 |
| source_endpoint | 否 | Object | 参数解释: 源数据库连接信息,测试连接之后调用必填。 详情请参见表7。 |
| target_endpoint | 否 | Object | 参数解释: 目标数据库连接信息,测试连接之后调用必填。 详情请参见表7。 |
| node_type | 否 | String | 参数解释: 规格类型编码,决定迁移实例的计算资源大小。 约束限制:
取值范围:
默认取值: high |
| 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 | 参数解释: 迁移任务的业务场景类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| product_id | 否 | String | 参数解释: 产品ID,用于标识包周期任务的产品信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| delay_time | 否 | Long | 参数解释: 订阅延迟时间,即异常告警通知的延迟时间(单位为s)。 约束限制: 不涉及。 取值范围: 1-3600 默认取值: 0 |
| rto_delay | 否 | Long | 参数解释: RTO(Recovery Time Objective,恢复时间目标)延迟时间,即容灾恢复时间目标的延迟阈值(单位为s)。 约束限制: 不涉及。 取值范围: 1-3600 默认取值: 0 |
| rpo_delay | 否 | Long | 参数解释: RPO(Recovery Point Objective,恢复点目标)延迟时间,即容灾恢复点目标的延迟阈值(单位为s)。 约束限制: 不涉及。 取值范围: 1-3600 默认取值: 0 |
| alarm_to_user | 否 | Boolean | 参数解释: 异常告警是否通知用户。 约束限制: 不涉及。 取值范围:
默认取值: false |
| subscriptions | 否 | Array of objects | 参数解释: 收件方式与信息体,用于配置异常告警的通知渠道,最多填写两个。 详情请参见表6。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| endpoints | 否 | Array of strings | 参数解释: 手机号或者邮箱列表,用于接收异常告警通知的联系方式。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| protocol | 否 | String | 参数解释: 收件方式,指定异常告警的通知渠道。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| db_type | 否 | String | 参数解释: 数据库类型,标识源库或目标库的数据库引擎种类。 约束限制: 测试连接之后修改调用时必填。 取值范围:
默认取值: 不涉及。 |
| az_code | 否 | String | 参数解释: 数据库所在可用区(AZ,Availability Zone)编码。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| region | 否 | String | 参数解释: 数据库实例所在Region,数据库为云上实例时,比如RDS实例时必填。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| inst_id | 否 | String | 参数解释: 数据库实例ID,数据库为云上实例时,比如RDS实例时必填。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| vpc_id | 否 | String | 参数解释: 数据库所在的虚拟私有云(VPC,Virtual Private Cloud)ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| subnet_id | 否 | String | 参数解释: 数据库所在的子网ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| security_group_id | 否 | String | 参数解释: 数据库所在的安全组ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| project_id | 否 | String | 参数解释: 数据库实例所在Region下的项目ID。如果数据库为云上实例时,填写数据库实例所在Region下的Project ID。否则,填写当前任务所在Region下的Project ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_name | 否 | String | 参数解释: 服务名名称,Oracle场景下为serviceName。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| db_password | 否 | String | 参数解释: 数据库密码,用于连接数据库的认证密码。 约束限制: 除不需要密码的引擎,其他引擎测试连接之后修改调用时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_port | 否 | Integer | 参数解释: 数据库端口号,用于指定连接数据库的服务端口。 约束限制: 输入范围为1-65535之间的整数。 取值范围: 不涉及。 默认取值: 不涉及。 |
| db_user | 否 | String | 参数解释: 数据库账号,用于连接数据库的用户名。 约束限制: 除不需要用户名的引擎,其他引擎测试连接之后修改调用时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
| inst_name | 否 | String | 参数解释: RDS实例名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ip | 否 | String | 参数解释: 数据库IP。测试连接之后修改调用时必填。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| mongo_ha_mode | 否 | String | 参数解释: MongoDB高可用模式。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 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安全连接,指定数据库连接是否启用SSL加密传输。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| topic | 否 | String | 参数解释: Kafka Topic名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| cluster_mode | 否 | String | 参数解释: MongoDB集群4.0及以上版本,当集群实例无法获取到分片节点的IP时,source_endpoint中需要填写。 约束限制: 不涉及。 取值范围: Sharding4.0+:MongoDB集群4.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 约束限制: 认证类型为SASL_PLAINTEXT、SASL_SSL时必填。 取值范围:
默认取值: 不涉及。 |
| 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私钥密码。对应Kafka字段:ssl.key.password。 约束限制: 开启SSL双向认证时,set_private_key_password为true时必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| count | Integer | 参数解释: 返回的任务信息总数,表示本次修改成功返回的任务数量,与results数组的长度一致。 约束限制: 不涉及。 取值范围: 不涉及。 |
| results | Array of objects | 参数解释: 批量修改任务返回列表,包含每个任务的修改结果。 详情请参见表11。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 任务ID,用于唯一标识一个数据复制任务。 约束限制: 不涉及。 取值范围: 不涉及。 |
| status | String | 参数解释: 状态。 约束限制: 不涉及。 取值范围:
|
| error_code | String | 参数解释: 错误码,当任务修改失败时返回的错误代码。 约束限制: 不涉及。 取值范围: 格式为DRS.XXXXXX。 |
| 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" } ] }
- 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": "cn-xianhz-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": "cn-xianhz-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
} 错误码
请参见错误码。