批量修改任务
功能介绍
批量修改任务名称或描述,设置异常通知信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
接口约束
- 源库和目标库均测试连接成功之后需要调用该接口,请按照示例填写源库、目标库信息,否则可能导致后续任务发生错误。
- 修改名称、描述、异常通知时,任务不处于结束或者删除状态时可以调用。
- 源库和目标库均测试连接成功之后调用,需要任务处于CONFIGURATION状态,双主灾备时父任务不支持调用。
- 为保证接口调用性能,建议批量调用数量不超过10个。
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 |
规格类型。取值:
具体某种场景支持的取值可以通过查询可用的Node规格接口获取 |
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)。
|
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@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 }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
错误码
请参见错误码。