创建数据同步任务

最近更新时间:2017-12-14 14:46:45

1. 接口描述

本接口(CreateCdbDataSyncTask)用于在主实例所在地域创建数据同步任务。
接口请求域名:cdb.api.qcloud.com

  1. 通过本接口创建数据同步任务之后,需使用校验数据同步任务接口发起校验,主要内容包括:源MySQL和目标实例是否满足同步条件;
  2. 发起校验之后,您可以使用查询数据同步任务列表接口来查询实时的校验结果;
  3. 校验通过后,您就可以使用启动数据同步任务接口来启动同步任务。

2. 输入参数

以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见公共请求参数页面。其中,此接口的Action字段为CreateCdbDataSyncTask,此接口的Region字段为源实例(主实例)的地域值。

参数名称 是否必选 类型 描述
jobName String 数据同步任务名称
srcInfo Array 源MySQL实例(主实例)信息
dstInfo Array 目的MySQL实例(灾备实例)信息

其中,srcInfo 参数的构成如下:

参数名称 是否必选 类型 描述
cdbUInstanceId String 主实例ID,格式如:cdb-c1nl9rpv,与云数据库控制台页面中显示的实例ID相同,可使用查询实例列表 接口获取,其值为输出参数中字段 uInstanceId 的值。
dbInfo Array 需要同步的源数据库表信息,如果您需要同步的是整个实例,该字段可不填写,每个元素具体构成见下表
isOverrideRoot Int 是否用源库Root账户覆盖目标库,值包括:0-不覆盖,1-覆盖,选择库表时默认为0

其中,dbInfo 可指定需要同步的数据库表信息,数组中的每个元素为Object,其构成如下:

参数名称 是否必选 类型 描述
database String 数据库名
table Array 当前数据库下的表名,如果您需要同步的是当前数据库的所有表,该字段可不填写

其中,dstInfo 参数的构成如下:

参数名称 是否必选 类型 描述
cdbUInstanceId String 灾备实例ID,格式如:cdb-c1nl9rpv,与云数据库控制台页面中显示的实例ID相同,可使用查询实例列表 接口获取,其值为输出参数中字段 uInstanceId 的值。
region String 灾备实例的地域ID,详见公共请求参数

3. 输出参数

参数名称 类型 描述
code Int 公共错误码, 0表示成功,其他值表示失败。详见错误码页面的公共错误码
message String 模块错误信息描述,与接口相关。
codeDesc String 英文错误描述
data Object 任务详情

其中, data 参数的构成如下:

参数名称 类型 描述
jobId Int 数据同步任务ID

4. 错误码表

以下错误码表列出了该接口的业务逻辑错误码。

错误代码 英文提示 错误描述
9003 InvalidParameter 参数错误
9013 InternalError 系统内部错误
9572 InstanceNotExists 实例不存在
30000 InvalidParameter 同步参数错误
30001 InvalidParameter 同步类型错误
30002 InvalidParameter 同步运行模式错误
30004 InvalidParameter 源信息参数错误
30005 InvalidParameter 目的信息参数错误
30009 InvalidParameter 同步任务不存在
30010 OperationDenied 同步任务正在运行,不允许修改
30011 InvalidParameter CVM信息错误
30012 OperationDenied 该可用区不支持灾备
30013 InvalidParameter 实例地域信息错误
30016 InvalidParameter 当前同步状态下,不允许执行该操作
30016 InvalidParameter 当前同步状态下,不允许执行该操作

5. 示例

输入

https://cdb.api.qcloud.com/v2/index.php?Action=CreateCdbDataSyncTask
&<公共请求参数>
&jobName=myJobName
&srcInfo.0.cdbUInstanceId=cdb-c1nl9rpv
&srcInfo.0.dbInfo.0.database=myDB
&srcInfo.0.dbInfo.0.table.0=myTable0
&srcInfo.0.dbInfo.0.table.1=myTable1
&srcInfo.0.isOverrideRoot=0
&dstInfo.0.cdbUInstanceId=cdb-d2sagyed
&dstInfo.0.regionId=sh
&dstInfo.0.zoneId=200001

输出

{
    "code":"0",
    "message":"",
    "codeDesc":"Success",
    "data":{
        "jobId":206
    }
}