配置一个迁移或同步任务。
- 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见预览OpenAPI的请求参数。
- 专属集群的任务仅支持先配置后购买,且不支持跨地域的任务。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | ConfigureDtsJob | 系统规定参数。取值:ConfigureDtsJob。 |
DtsJobName | String | 是 | rdsmysql_to_mysql | DTS实例名称。 |
SourceEndpointInstanceType | String | 是 | RDS | 源实例类型,取值: 阿里云数据库
|
SourceEndpointInstanceID | String | 否 | rm-bp1imrtn6fq7h**** | 源实例ID。 如源实例为阿里云数据库(如RDS MySQL),则您需要传入阿里云数据库的ID(如RDS MySQL的实例ID)。 如源实例为自建数据库,则根据SourceEndpointInstanceType的取值不同,本参数的取值有所变化,例如SourceEndpointInstanceType取值为:
说明 取值为CEN时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见Reserve参数说明。 |
SourceEndpointEngineName | String | 否 | MYSQL | 源实例的数据库类型。
说明
|
SourceEndpointRegion | String | 否 | cn-hangzhou | 源实例区域,详情请参见支持的地域列表。 说明 如源为阿里云数据库,则该参数必须传入。 |
SourceEndpointIP | String | 否 | 172.16.**.*** | 源实例的IP地址。 说明 当SourceEndpointInstanceType为OTHER、EXPRESS、DG、CEN时,本参数才可用且必须传入。 |
SourceEndpointPort | String | 否 | 3306 | 源实例的数据库服务端口。 说明 当源实例为自建数据库时,本参数才可用且必须传入。 |
SourceEndpointOracleSID | String | 否 | testsid | Oracle数据库的SID信息。 说明 当SourceEndpointEngineName取值为Oracle,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。 |
SourceEndpointDatabaseName | String | 否 | dtstestdatabase | 源实例中迁移对象所属的数据库名称。 说明 当源实例或者源实例的数据库类型为PolarDB PostgreSQL版(兼容Oracle)、PostgreSQL、MongoDB数据库时,本参数才可用且必须传入。 |
SourceEndpointUserName | String | 否 | dtstest | 源库的数据库账号。 说明
|
SourceEndpointPassword | String | 否 | Test123456 | 源库数据库账号密码。 |
SourceEndpointOwnerID | String | 否 | 140692647406**** | 源实例所属的阿里云账号ID。 说明 传入本参数即代表执行跨阿里云账号的数据迁移或同步,同时您还需要传入SourceEndpointRole参数。 |
SourceEndpointRole | String | 否 | ram-for-dts | 源实例所属云账号配置的角色名称。 说明 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见跨阿里云账号数据迁移或同步时如何配置RAM授权。 |
DestinationEndpointInstanceType | String | 是 | EXPRESS | 目标实例类型,取值: 阿里云数据库
|
DestinationEndpointInstanceID | String | 否 | vpc-bp1opxu1zkhn00gzv**** | 目标实例ID。 如目标实例为云数据库(如RDS MySQL),则您需要传入云数据库的实例ID(如RDS MySQL的实例ID)。 如目标实例为自建数据库,则根据DestinationEndpointInstanceType的取值不同,本参数的取值有所变化,例如DestinationEndpointInstanceType取值为:
说明 取值为CEN时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见Reserve参数说明。 |
DestinationEndpointEngineName | String | 否 | MYSQL | 目标实例的数据库类型。
说明
|
DestinationEndpointRegion | String | 否 | cn-hangzhou | 目标实例区域,请参见支持的地域列表。 说明 如目标为阿里云数据库,则该参数必须传入。 |
DestinationEndpointIP | String | 否 | 172.16.**.*** | 目标实例的IP地址。 说明 当DestinationEndpointInstanceType为OTHER、EXPRESS、DG、CEN时,本参数才可用且必须传入。 |
DestinationEndpointPort | String | 否 | 3306 | 目标实例的数据库服务端口。 说明 当目标实例为自建数据库时,本参数才可用且必须传入。 |
DestinationEndpointDataBaseName | String | 否 | dtstestdata | 目标实例中迁移对象所属的数据库名称。 说明
|
DestinationEndpointUserName | String | 否 | dtstest | 目标库的数据库账号。 说明
|
DestinationEndpointPassword | String | 否 | Test123456 | 目标库数据库账号密码。 说明 若目标库为MaxCompute,您需要填写为阿里云账号(主账号)的AccessKey Secret。获取方式,请参见创建AccessKey。 |
DestinationEndpointOwnerID | String | 否 | 140692647406**** | 目标RDS MySQL实例所属的阿里云账号ID。 说明
|
DestinationEndpointRole | String | 否 | ram-for-dts | 目标实例所属云账号配置的角色名称。 说明 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见跨阿里云账号数据迁移或同步时如何配置RAM授权。 |
StructureInitialization | Boolean | 是 | true | 是否执行库表结构迁移或初始化,取值:
说明 若JobType取值为CHECK,只能取值为false。 |
DataInitialization | Boolean | 是 | true | 是否执行全量数据迁移或全量数据初始化,取值:
说明 若JobType取值为CHECK,只能取值为false。 |
DataSynchronization | Boolean | 是 | true | 是否执行增量数据迁移或同步,取值:
说明 若JobType取值为CHECK,只能取值为false。 |
DbList | String | 是 | {"dtstest":{"name":"dtstest","all":true}} | 待迁移或同步的对象,格式为JSON串。详细定义说明,请参见迁移、同步或订阅对象说明。 说明 DbList最多支持传入10 MB的数据。 |
Reserve | String | 否 | { "srcInstanceId": "cen-9kqshqum*******" } | DTS预留参数,格式为JSON字符串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID)。更多信息,请参见Reserve参数说明。 |
Checkpoint | String | 否 | 1610540493 | 增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。 说明 若需传入Checkpoint参数,必须确保不存在与目标DTS实例相同源库的其他正在运行的DTS实例。 |
DestinationEndpointOracleSID | String | 否 | testsid | Oracle数据库的SID信息。 说明 当DestinationEndpointEngineName取值为Oracle,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。 |
JobType | String | 是 | SYNC | 任务类型,取值为:
说明 若取值为MIGRATION或SYNC,您也可以在迁移或同步实例中配置数据校验任务。 |
DtsJobId | String | 否 | k2gm967v16f**** | 迁移或同步任务ID。 说明 可调用DescribeDtsJobs获取任务ID。 |
DtsInstanceId | String | 否 | dtsk2gm967v16f**** | 迁移或同步实例ID。 说明 可调用DescribeDtsJobs获取实例ID。 |
DelayPhone | String | 否 | 1361234****,1371234**** | 延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。 说明
|
DelayRuleTime | Long | 否 | 10 | 触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。 说明 当DelayNotice取值为true时,本参数必须传入。 |
DelayNotice | Boolean | 否 | true | 是否监控延迟状态,取值:
|
ErrorPhone | String | 否 | 1361234****,1371234**** | 异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。 说明
|
ErrorNotice | Boolean | 否 | true | 是否监控异常状态,取值:
|
SynchronizationDirection | String | 否 | Forward | 同步方向,取值:
说明
|
RegionId | String | 否 | cn-hangzhou | DTS实例所属的地域,请参见支持的地域列表。 |
DedicatedClusterId | String | 否 | dtscluster_atyl3b5214uk*** | DTS专属集群ID。 说明 当传入专属集群的ID时,任务调度到相应的集群上。 |
FileOssUrl | String | 否 | http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_121852**********_79dd3aeabe2f43cdb************** | 任务文件的OSS地址。 |
DataCheckConfigure | String | 否 | {"fullCheckModel":1,"fullCheckRatio":20,"checkMaximumHourEnable":1,"checkMaximumHour":1,"fullCheckErrorNotice":true,"fullCheckValidFailNotice":true,"fullCheckNoticeValue":8,"incrementalCheckErrorNotice":true,"incrementalCheckValidFailNotice":true,"incrementalCheckValidFailNoticeTimes":2,"incrementalCheckValidFailNoticePeriod":1,"incrementalCheckValidFailNoticeValue":1,"incrementalCheckDelayNotice":true,"incrementalCheckDelayNoticeTimes":2,"incrementalCheckDelayNoticePeriod":1,"incrementalCheckDelayNoticeValue":60,"fullDataCheck":true,"incrementalDataCheck":true,"dataCheckNoticePhone":"13126800****","dataCheckDbList":{"dts":{"name":"dts","all":true}}} | 数据校验任务的参数,格式为JSON字符串,如参数限制或告警配置等信息。更多信息请参见DataCheckConfigure参数说明。 |
DisasterRecoveryJob | Boolean | 否 | true | 是否为灾备实例,取值:
|
SourceEndpointVSwitchID | String | 否 | vsw-bp10df3mxae6lpmku**** | 数据投递链路交换机实例ID。 |
DtsBisLabel | String | 否 | normal | DTS实例的环境标签,取值为:
|
SrcCaCertificateOssUrl | String | 否 | **** | 源库通过SSL安全连接时,CA证书的路径。 说明 当前暂不支持此功能,请勿传入此参数。 |
SrcCaCertificatePassword | String | 否 | **** | 源库通过SSL安全连接时,CA证书的密钥。 说明 当前暂不支持此功能,请勿传入此参数。 |
DestCaCertificateOssUrl | String | 否 | **** | 目标库通过SSL安全连接时,CA证书的路径。 说明 当前暂不支持此功能,请勿传入此参数。 |
DestCaCertificatePassword | String | 否 | **** | 目标库通过SSL安全连接时,CA证书的密钥。 说明 当前暂不支持此功能,请勿传入此参数。 |
MinDu | double | 否 | 1 | DU下限。 说明 仅Serverless实例支持。 |
MaxDu | double | 否 | 16 | DU上限。 说明 仅Serverless实例支持。 |
SrcClientCertOssUrl | String | 否 | **** | 源库通过SSL安全连接时,客户端证书的路径。 说明 当前暂不支持此功能,请勿传入此参数。 |
SrcClientKeyOssUrl | String | 否 | **** | 源库通过SSL安全连接时,客户端证书私钥的路径。 说明 当前暂不支持此功能,请勿传入此参数。 |
SrcClientPassword | String | 否 | **** | 源库通过SSL安全连接时,客户端证书私钥的密码。 说明 当前暂不支持此功能,请勿传入此参数。 |
DestClientCertOssUrl | String | 否 | **** | 目标库通过SSL安全连接时,客户端证书的路径。 说明 当前暂不支持此功能,请勿传入此参数。 |
DestClientKeyOssUrl | String | 否 | **** | 目标库通过SSL安全连接时,客户端证书私钥的路径。 说明 当前暂不支持此功能,请勿传入此参数。 |
DestClientPassword | String | 否 | **** | 目标库通过SSL安全连接时,客户端证书私钥的密码。 说明 当前暂不支持此功能,请勿传入此参数。 |
SrcPrimaryVswId | String | 否 | **** | VPCNAT源端主VSW |
SrcSecondaryVswId | String | 否 | **** | VPCNAT源端备VSW |
DestPrimaryVswId | String | 否 | **** | VPCNAT目的端主VSW |
DestSecondaryVswId | String | 否 | **** | VPCNAT目的端备VSW |
ResourceGroupId | String | 否 | rg-acfmzawhxxc**** | 资源组ID。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
HttpStatusCode | String | 200 | 状态码。 |
RequestId | String | 224DB9F7-3100-4899-AB9C-C938BCCB**** | 请求ID。 |
ErrCode | String | InternalError | 调用出错时返回的错误码。 |
DtsJobId | String | k2gm967v16f**** | 迁移或同步任务ID。 |
DtsInstanceId | String | dtsk2gm967v16f**** | 迁移或同步实例ID。 |
Success | String | true | 请求是否成功。 |
ErrMessage | String | The request processing has failed due to some unknown error. | 调用错误时返回对应的错误信息。 |
示例
请求示例
http(s)://dts.aliyuncs.com/?Action=ConfigureDtsJob
&RegionId=cn-hangzhou
&SourceEndpointInstanceType=RDS
&DestinationEndpointInstanceType=EXPRESS
&StructureInitialization=true
&DataInitialization=true
&DataSynchronization=true
&DbList={"dtstest":{"name":"dtstest","all":true}}
&JobType=SYNC
&SourceEndpointInstanceID=rm-bp1imrtn6fq7h****
&SourceEndpointEngineName=MYSQL
&SourceEndpointRegion=cn-hangzhou
&SourceEndpointUserName=dtstest
&SourceEndpointPassword=Test123456
&DestinationEndpointInstanceID=vpc-bp1opxu1zkhn00gzv****
&DestinationEndpointEngineName=MYSQL
&DestinationEndpointIP=172.16.**.***
&DestinationEndpointRegion=cn-hangzhou
&DestinationEndpointPort=3306
&DestinationEndpointUserName=dtstest
&DestinationEndpointPassword=Test123456
&DtsJobId=k2gm967v16f****
&DtsInstanceId=dtsk2gm967v16f****
&DtsJobName=rdsmysql至专线接入的自建mysql
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<ConfigureDtsJobResponse>
<DtsJobId>k2gm967v16f****</DtsJobId>
<RequestId>224DB9F7-3100-4899-AB9C-C938BCCB****</RequestId>
<HttpStatusCode>200</HttpStatusCode>
<DtsInstanceId>dtsk2gm967v16f****</DtsInstanceId>
<Success>true</Success>
</ConfigureDtsJobResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"DtsJobId" : "k2gm967v16f****",
"RequestId" : "224DB9F7-3100-4899-AB9C-C938BCCB****",
"HttpStatusCode" : 200,
"DtsInstanceId" : "dtsk2gm967v16f****",
"Success" : true
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
403 | InvalidParameter.KafkaBrokerInvalid | kafka broker configuration must be intranet IP | Ecs自建Kafka节点的配置必须为ip,不支持节点配置为host |
403 | InvalidParameter.KafkaHostInvalid | kafaka host name should be intranet IP | kafka主机名暂不支持host形式,请输入内网IP |
403 | UpdateJob.OperationDenied.InitStatus | The operation is not permitted due to Dts job status is init. | 当前任务已经启动,无法修改,请使用重新配置任务功能(已配置任务会丢失)或者修改同步对象功能 |
403 | GetMongoDbShardInfo.NoShardAddress | MongoDb has not yet opened the shard connection address, please try again after opening. | 无法获取分片连接信息,检查配置参数,确认数据库确实为分片MongoDb,并确定已经开通shard地址。 |
403 | GetMongoDbShardInfo.EmptyInstances | Failed to get MongoDb shard information, the return is empty. | 无法获取分片信息,请检查配置参数,确认数据库确实为分片MongoDb。 |
403 | CheckJobFailed.ServerUnAvailable | Unable to check whether the node can connect to the database because the node service is unavailable. | DTS下部分Node服务器无法连接,请重试,重试后仍出现请联系技术支持。 |
403 | DbTypeNotSupport.PolarDBRDS | The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported. | DTS暂不支持分库类型为PolarDb MySQL的DRDS类型的同步。 |
403 | DbTypeNotSupport.OnlyReadRDS | Synchronization is not currently supported due to latency issues with read-only DRDS instances. | DTS暂时不支持为分库只读库类型的DRDS同步。 |
403 | DTS.Msg.InvalidParameter.KafkaBrokerInvalid | kafka broker configuration must be intranet IP | Ecs自建Kafka节点的配置必须为ip,不支持节点配置为host |
403 | DTS.Msg.InvalidParameter.KafkaHostInvalid | kafaka host name should be intranet IP | kafka主机名暂不支持host形式,请输入内网IP |
403 | DTS.Msg.UpdateJob.OperationDenied.InitStatus | The operation is not permitted due to Dts job status is init. | 当前任务已经启动,无法修改,请使用重新配置任务功能(已配置任务会丢失)或者修改同步对象功能 |
403 | DTS.Msg.GetMongoDbShardInfo.NoShardAddress | MongoDb has not yet opened the shard connection address, please try again after opening. | 无法获取分片连接信息,检查配置参数,确认数据库确实为分片MongoDb,并确定已经开通shard地址。 |
403 | DTS.Msg.GetMongoDbShardInfo.EmptyInstances | Failed to get MongoDb shard information, the return is empty. | 无法获取分片信息,请检查配置参数,确认数据库确实为分片MongoDb。 |
403 | DTS.Msg.CheckJobFailed.ServerUnAvailable | Unable to check whether the node can connect to the database because the node service is unavailable. | DTS下部分Node服务器无法连接,请重试,重试后仍出现请联系技术支持。 |
403 | DTS.Msg.DbTypeNotSupport.PolarDBRDS | The current rds instance is of type PolarDB, which is not supported for the time being. Only rds instances under drds are supported. | DTS暂不支持分库类型为PolarDb MySQL的DRDS类型的同步。 |
403 | DTS.Msg.DbTypeNotSupport.OnlyReadRDS | Synchronization is not currently supported due to latency issues with read-only DRDS instances. | DTS暂时不支持为分库只读库类型的DRDS同步。 |
403 | InvalidSecurityToken.Expired | Specified SecurityToken is expired. | 签名已经过期,请更新签名 |
400 | Throttling.User | Request was denied due to user flow control. | 由于请求频次达到阈值,请求被拒绝,请稍后重试。 |
500 | ServiceUnavailable | The request has failed due to a temporary failure of the server. | 由于服务端响应超时或者不可用导致请求失败,请重试,重试后仍失败请联系技术支持。 |
访问错误中心查看更多错误码。