更新时间:2026-07-29 GMT+08:00
分享

批量修改任务 - BatchUpdateJob

功能介绍

批量修改任务名称或描述,设置异常通知信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

接口约束

  • 源库和目标库均测试连接成功之后需要调用该接口,请按照示例填写源库、目标库信息,否则可能导致后续任务发生错误。
  • 修改名称、描述、异常通知时,任务不处于结束或者删除状态时可以调用。
  • 源库和目标库均测试连接成功之后调用,需要任务处于CONFIGURATION状态,双主灾备时父任务不支持调用。
  • 为保证接口调用性能,建议批量调用数量不超过10个。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项

URI

PUT /v3/{project_id}/jobs/batch-modification

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户在某一Region下的Project ID。

获取方法请参见获取项目ID

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

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:英语
  • zh-cn:中文

默认取值:

en-us

表3 请求Body参数

参数

是否必选

参数类型

描述

jobs

Array of objects

参数解释:

修改任务请求体列表,包含需要修改的一个或多个任务信息。

详情请参见表4

表4 jobs字段数据结构说明

参数

是否必选

参数类型

描述

job_id

String

参数解释:

任务ID,用于唯一标识一个数据复制任务,在修改任务时作为任务的识别凭证。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

description

String

参数解释:

任务描述,用于补充说明任务的用途或备注信息。

约束限制:

  • 修改任务描述时必填。

  • 长度为0-256个字符。

  • 不能包含!<>&'"特殊字符。

取值范围:

不涉及。

默认取值:

不涉及。

name

String

参数解释:

任务名称,用于标识和区分不同的数据复制任务。

约束限制:

需要修改任务名称时填写。

取值范围:

不涉及。

默认取值:

不涉及。

alarm_notify

Object

参数解释:

设置异常通知信息,用于设置任务异常时的告警通知方式。

详情请参见表5

task_type

String

参数解释:

任务模式,指定数据复制任务的执行方式。

约束限制:

目前仅支持MySQL到TaurusDB同步任务在配置中或者增量中时修改。

取值范围:

  • FULL_TRANS:全量,仅迁移历史数据。
  • INCR_TRANS:增量,仅同步数据变更。
  • FULL_INCR_TRANS:全量+增量,先迁移历史数据再持续同步增量。

默认取值:

不涉及。

source_endpoint

Object

参数解释:

源数据库连接信息,测试连接之后调用必填。

详情请参见表7

target_endpoint

Object

参数解释:

目标数据库连接信息,测试连接之后调用必填。

详情请参见表7

node_type

String

参数解释:

规格类型编码,决定迁移实例的计算资源大小。

约束限制:

取值范围:

  • micro:极小规格。
  • small:小规格。
  • medium:中规格。
  • high:大规格。
  • xlarge:超大规格。
  • 2xlarge:极大规格。

默认取值:

high

engine_type

String

参数解释:

DRS任务引擎类型。

约束限制:

  • 测试连接之后修改调用时必填。

  • 详细取值可参考引擎类型说明。

取值范围:

  • mysql:MySQL到MySQL迁移,MySQL到MySQL同步。
  • mongodb:MongoDB到DDS迁移与同步。
  • cloudDataGuard-mysql:MySQL到MySQL灾备。
  • gaussdbv5GaussDB同步。
  • mysql-to-kafka:MySQL到Kafka同步。
  • taurus-to-kafkaTaurusDB到Kafka同步。
  • gaussdbv5ha-to-kafka:GaussDB集中式版到Kafka同步。
  • postgresql:PostgreSQL到PostgreSQL同步。
  • oracle-to-gaussdbv5:Oracle-GaussDB 分布式版。
  • oracle-to-gaussdbv5ha:Oracle-GaussDB 集中式版。
  • gaussdbv5-to-oracle:GaussDB 分布式版-Oracle。
  • gaussdbv5ha-to-oracle:GaussDB 集中式版-Oracle。
  • gaussdbv5-to-kafka:GaussDB 分布式版-Kafka。

详细取值可参考引擎类型说明

默认取值:

不涉及。

net_type

String

参数解释:

任务使用的网络类型。

约束限制:

测试连接之后调用必填。

取值范围:

  • vpn:VPN网络。
  • vpc:VPC网络。
  • eip:EIP网络。

默认取值:

不涉及。

store_db_info

Boolean

参数解释:

是否保存数据库信息。

约束限制:

测试连接之后调用必填。

取值范围:

  • true:保存数据库信息

  • false:不保存数据库信息

默认取值:

不涉及。

is_recreate

Boolean

参数解释:

是否为重建任务。

约束限制:

不涉及。

取值范围:

  • true:重建任务

  • false:非重建任务

默认取值:

不涉及。

job_direction

String

参数解释:

任务方向。

约束限制:

测试连接之后调用必填。

取值范围:

  • up:入云 ,灾备场景时对应本云为备。
  • down:出云,灾备场景时对应本云为主。
  • non-dbs:自建。

默认取值:

不涉及。

is_target_readonly

Boolean

参数解释:

指定目标数据库实例是否限制为只读状态。

约束限制:

不涉及。

取值范围:

  • true:目标实例限制为只读

  • false:目标实例不限制为只读

默认取值:

不涉及。

replace_definer

Boolean

参数解释:

所有Definer是否迁移到该用户下,MySQL数据库支持该设置。

约束限制:

测试连接之后修改调用时必填。

取值范围:

  • true:迁移后,所有源数据库对象的Definer都会迁移至该用户下,其他用户需要授权后才具有数据库对象权限
  • false:迁移后,将保持源数据库对象Definer定义不变,选择此选项,需要配合下一步用户权限迁移功能,将源数据库的用户全部迁移,这样才能保持源数据库的权限体系完全不变。

默认取值:

不涉及。

tags

Array of object

参数解释:

标签信息,用于给任务添加标识以便分类管理。

详情请参见表9

db_use_type

String

参数解释:

迁移任务的业务场景类型。

约束限制:

不涉及。

取值范围:

  • migration:实时迁移。
  • sync:实时同步。
  • cloudDataGuard:实时灾备。

默认取值:

不涉及。

product_id

String

参数解释:

产品ID,用于标识包周期任务的产品信息。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表5 alarm_notify字段数据结构说明

参数

是否必选

参数类型

描述

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

参数解释:

异常告警是否通知用户。

约束限制:

不涉及。

取值范围:

  • true:通知用户。
  • false:不通知用户。

默认取值:

false

subscriptions

Array of objects

参数解释:

收件方式与信息体,用于配置异常告警的通知渠道,最多填写两个。

详情请参见表6

表6 subscriptions字段数据结构说明

参数

是否必选

参数类型

描述

endpoints

Array of strings

参数解释:

手机号或者邮箱列表,用于接收异常告警通知的联系方式。

约束限制:

  • 多个手机号或邮箱用逗号分隔。
  • 最多支持10个。

取值范围:

不涉及。

默认取值:

不涉及。

protocol

String

参数解释:

收件方式,指定异常告警的通知渠道。

约束限制:

不涉及。

取值范围:

  • sms:短信。
  • email:邮件。

默认取值:

不涉及。

表7 source_endpoint和target_endpoint字段数据结构说明

参数

是否必选

参数类型

描述

db_type

String

参数解释:

数据库类型,标识源库或目标库的数据库引擎种类。

约束限制:

测试连接之后修改调用时必填。

取值范围:

  • mysql:MySQL
  • mongodb:MongoDB
  • gaussdbv5:GaussDB分布式版
  • taurusTaurusDB
  • gaussdbv5ha:GaussDB集中式版
  • kafka:Kafka
  • postgresql:PostgreSQL
  • oracle:Oracle

默认取值:

不涉及。

az_code

String

参数解释:

数据库所在可用区(AZ,Availability Zone)编码。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

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

参数解释:

数据库所在的虚拟私有云(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。

约束限制:

  • 如果设置,需要手动在数据库中创建对应的库。
  • 不能超过128位。
  • 不能包含!<>&'"\特殊字符。

取值范围:

不涉及。

默认取值:

不涉及。

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集群运行模式。

约束限制:

不涉及。

取值范围:

  • 0:普通集群
  • 1:安全集群

默认取值:

不涉及。

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加密传输。

约束限制:

不涉及。

取值范围:

  • true:使用SSL安全连接。

  • false:不使用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

表8 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相关参数配置信息。

默认取值:

不涉及。

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时必填。

取值范围:

  • GSSAPI:GSSAPI机制。
  • PLAIN:PLAIN机制
  • SCRAM-SHA-256:SCRAM-SHA-256机制。
  • SCRAM-SHA-512:SCRAM-SHA-512机制。

默认取值:

不涉及。

delegation_tokens

Boolean

参数解释:

是否为委托令牌鉴权。

约束限制:

安全协议为SASL_SSL和SASL_PLAINTEXT,且SASL机制选择“SCRAM-SHA-256”或者“SCRAM-SHA-512”时生效。

取值范围:

不涉及。

默认取值:

不涉及。

enable_key_store

Boolean

参数解释:

是否开启SSL双向认证。

约束限制:

不涉及。

取值范围:

  • true:开启SSL双向认证

  • false:不开启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私钥密码。

约束限制:

不涉及。

取值范围:

  • true:设置Keystore私钥密码。
  • false:不设置Keystore私钥密码。

默认取值:

false

key_password

String

参数解释:

Keystore私钥密码。对应Kafka字段:ssl.key.password。

约束限制:

开启SSL双向认证时,set_private_key_password为true时必填。

取值范围:

不涉及。

默认取值:

不涉及。

表9 tags字段数据结构说明

参数

是否必选

参数类型

描述

key

String

参数解释:

标签键。

约束限制:

  • 最大长度36个字符。

  • 只能包含字母、数字、下划线、中划线和中文。

  • 需要修改标签时填写。

取值范围:

不涉及。

默认取值:

不涉及。

value

String

参数解释:

标签值。

约束限制:

  • 最大长度43个字符。

  • 只能包含字母、数字、下划线、中划线和中文。

  • 需要修改标签时填写。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表10 响应Body参数

参数

参数类型

描述

count

Integer

参数解释:

返回的任务信息总数,表示本次修改成功返回的任务数量,与results数组的长度一致。

约束限制:

不涉及。

取值范围:

不涉及。

results

Array of objects

参数解释:

批量修改任务返回列表,包含每个任务的修改结果。

详情请参见表11

表11 results字段数据结构说明

参数

参数类型

描述

id

String

参数解释:

任务ID,用于唯一标识一个数据复制任务。

约束限制:

不涉及。

取值范围:

不涉及。

status

String

参数解释:

状态。

约束限制:

不涉及。

取值范围:

  • success:成功。
  • failed:失败。

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
}

状态码

状态码

描述

200

OK

400

Bad Request

其他状态请参见状态码

错误码

请参见错误码

相关文档