Configures a data migration or synchronization task.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | ConfigureDtsJob | The operation that you want to perform. Set the value to ConfigureDtsJob. |
DtsJobName | String | Yes | rdsmysql_to_mysql | The name of the DTS instance. |
SourceEndpointInstanceType | String | Yes | RDS | The type of the source instance. Valid values: Alibaba Cloud database instances
Note
|
SourceEndpointInstanceID | String | No | rm-bp1imrtn6fq7h**** | The ID of the source instance. If the source instance is an Alibaba Cloud database instance, you must specify the ID of the database instance. For example, if the source instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance. If the source instance is a self-managed database, the value of this parameter varies with the value of the SourceEndpointInstanceType parameter.
Note If the SourceEndpointInstanceType parameter is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter. For more information, see Reserve. |
SourceEndpointEngineName | String | No | MYSQL | The database engine of the source instance. Valid values:
Note
|
SourceEndpointRegion | String | No | cn-hangzhou | The ID of the region in which the source instance resides. For more information, see List of supported regions. Note If the source instance is an Alibaba Cloud database instance, this parameter is required. |
SourceEndpointIP | String | No | 172.16.**.*** | The IP address of the source instance. Note If the SourceEndpointInstanceType parameter is set to OTHER, EXPRESS, DG, or CEN, this parameter is available and required. |
SourceEndpointPort | String | No | 3306 | The database service port of the source instance. Note If the source instance is a self-managed database, this parameter is available and required. |
SourceEndpointOracleSID | String | No | testsid | The system ID (SID) of the Oracle database. Note If the SourceEndpointEngineName parameter is set to ORACLE and the Oracle database is deployed in an architecture that is not a Real Application Cluster (RAC), this parameter is available and required. |
SourceEndpointDatabaseName | String | No | dtstestdatabase | The name of the database to which the objects to be migrated in the source instance belong. Note If the source instance is a PolarDB for Oracle cluster, a PostgreSQL database, or a MongoDB database, this parameter is available and required. |
SourceEndpointUserName | String | No | dtstest | The database account of the source database. Note
|
SourceEndpointPassword | String | No | Test123456 | The password of the source database account. |
SourceEndpointOwnerID | String | No | 140692647406**** | The ID of the Alibaba Cloud account to which the source instance belongs. Note You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must specify the SourceEndpointRole parameter. |
SourceEndpointRole | String | No | ram-for-dts | The name of the RAM role configured for the Alibaba Cloud account that owns the source instance. Note This parameter is required when you migrate or synchronize data across different Alibaba Cloud accounts. For information about the permissions and authorization methods of the RAM role, see Configure RAM authorization for cross-account data migration and synchronization. |
DestinationEndpointInstanceType | String | Yes | EXPRESS | The type of the destination instance. Valid values: Alibaba Cloud database instances
Note
|
DestinationEndpointInstanceID | String | No | vpc-bp1opxu1zkhn00gzv**** | The ID of the destination instance. If the destination instance is an Alibaba Cloud database instance, you must specify the ID of the database instance. For example, if the destination instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance. If the destination instance is a self-managed database, the value of this parameter varies with the value of the DestinationEndpointInstanceType parameter.
Note If the DestinationEndpointInstanceType parameter is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter. For more information, see Reserve. |
DestinationEndpointEngineName | String | No | MySQL | The database engine of the destination instance. Valid values:
Note
|
DestinationEndpointRegion | String | No | cn-hangzhou | The ID of the region in which the destination instance resides. For more information, see List of supported regions. Note If the destination instance is an Alibaba Cloud database instance, this parameter is required. |
DestinationEndpointIP | String | No | 172.16.**.*** | The IP address of the destination instance. Note If the DestinationEndpointInstanceType parameter is set to OTHER, EXPRESS, DG, or CEN, this parameter is available and required. |
DestinationEndpointPort | String | No | 3306 | The database service port of the destination instance. Note If the destination instance is a self-managed database, this parameter is available and required. |
DestinationEndpointDataBaseName | String | No | dtstestdata | The name of the database to which the objects migrated to the destination instance belong. Note
|
DestinationEndpointUserName | String | No | dtstest | The database account of the destination database. Note
|
DestinationEndpointPassword | String | No | Test123456 | The password of the destination database account. Note If the destination database is a MaxCompute project, you must specify the AccessKey secret of your Alibaba Cloud account. For information about how to obtain your AccessKey pair, see Create an AccessKey pair. |
StructureInitialization | Boolean | Yes | true | Specifies whether to perform schema migration or synchronization. Default value: true. Valid values:
|
DataInitialization | Boolean | Yes | true | Specifies whether to perform full data migration or synchronization. Default value: true. Valid values:
|
DataSynchronization | Boolean | Yes | true | Specifies whether to perform incremental data migration or synchronization. Default value: false. Valid values:
|
DbList | String | Yes | {"dtstest":{"name":"dtstest","all":true}} | The objects that you want to migrate or synchronize. The value is a JSON string. For more information, see Objects of DTS tasks. |
Reserve | String | No | { "srcInstanceId": "cen-9kqshqum*******" } | The reserved parameter of DTS. The value is a JSON string. You can specify this parameter to add more configurations of the source or destination instance to the DTS task. For example, you can specify the data storage format of the destination Kafka database and the ID of the CEN instance. For more information, see Reserve. |
Checkpoint | String | No | 1610540493 | The start offset of incremental data migration or synchronization. The value is a UNIX timestamp. Unit: seconds. |
DestinationEndpointOracleSID | String | No | testsid | The SID of the Oracle database. Note If the DestinationEndpointEngineName parameter is set to ORACLE and the Oracle database is deployed in a non-RAC architecture, this parameter is available and required. |
JobType | String | Yes | SYNC | The type of the task. Valid values:
|
DtsJobId | String | No | k2gm967v16f**** | The ID of the data migration or synchronization task. Note You can call the DescribeDtsJobs operation to query the task ID. |
DtsInstanceId | String | No | dtsk2gm967v16f**** | The ID of the data migration or synchronization instance. Note You can call the DescribeDtsJobs operation to query the instance ID. |
DelayPhone | String | No | 1361234****,1371234**** | The mobile numbers that receive latency-related alerts. Separate multiple mobile numbers with commas (,). Note
|
DelayRuleTime | Long | No | 10 | The threshold for triggering latency-related alerts. Unit: seconds. The value must be an integer. You can set the threshold based on your business needs. To prevent jitters caused by network and database overloads, we recommend that you set the threshold to more than 10 seconds. Note If the DelayNotice parameter is set to true, this parameter is required. |
DelayNotice | Boolean | No | true | Specifies whether to monitor the task latency. Valid values:
|
ErrorPhone | String | No | 1361234****,1371234**** | The mobile numbers that receive status-related alerts. Separate multiple mobile numbers with commas (,). Note
|
ErrorNotice | Boolean | No | true | Specifies whether to monitor the task status. Valid values:
|
SynchronizationDirection | String | No | Forward | The synchronization direction. Valid values:
Note
|
RegionId | String | No | cn-hangzhou | The ID of the region in which the DTS instance resides. For more information, see List of supported regions. |
DedicatedClusterId | String | No | dtscluster_atyl3b5214uk*** | The ID of the DTS dedicated cluster on which the task runs. Note If this parameter is specified, the task is scheduled to the specified DTS dedicated cluster. |
FileOssUrl | String | No | http://db-list-os-file.oss-cn-shanghai.aliyuncs.com/8e42_121852**********_79dd3aeabe2f43cdb************** | The URL of the Object Storage Service (OSS) bucket that stores the files related to the DTS task. |
DataCheckConfigure | String | No | {"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}}"} | The data verification task for a data migration or synchronization instance. The value is a JSON string that indicates parameter limits or alert configurations. For more information, see DataCheckConfigure. |
DisasterRecoveryJob | Boolean | No | true | Specifies whether the instance is a disaster recovery instance.
|
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
HttpStatusCode | String | 200 | The HTTP status code. |
RequestId | String | 224DB9F7-3100-4899-AB9C-C938BCCB**** | The ID of the request. |
ErrCode | String | InternalError | The error code returned if the call failed. |
DtsJobId | String | k2gm967v16f**** | The ID of the data migration or synchronization task. |
DtsInstanceId | String | dtsk2gm967v16f**** | The ID of the data migration or synchronization instance. |
Success | String | true | Indicates whether the request was successful. |
ErrMessage | String | The request processing has failed due to some unknown error. | The error message returned if the call failed. |
Examples
Sample requests
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=ApsaraDB RDS for MySQL to self-managed MySQL database connected over Express Connect
&<Common request parameters>
Sample success responses
XML
format
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
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"DtsJobId" : "k2gm967v16f****",
"RequestId" : "224DB9F7-3100-4899-AB9C-C938BCCB****",
"HttpStatusCode" : 200,
"DtsInstanceId" : "dtsk2gm967v16f****",
"Success" : true
}
Error codes
HttpCode | Error code | Error message | Description |
---|---|---|---|
403 | InvalidParameter.KafkaBrokerInvalid | kafka broker configuration must be intranet IP | The error message returned because the node name of a self-managed Kafka cluster hosted on ECS is set to a hostname instead of an IP address. |
403 | InvalidParameter.KafkaHostInvalid | kafaka host name should be intranet IP | The error message returned because the Kafka hostname must be an IP address accessed over an internal network. |
403 | UpdateJob.OperationDenied.InitStatus | The operation is not permitted due to Dts job status is init. | The error message returned because the task is already started and cannot be modified. Reconfigure the task or modify the objects to be synchronized. If you reconfigure the task, the old task configurations are deleted. |
403 | GetMongoDbShardInfo.NoShardAddress | MongoDb has not yet opened the shard connection address, please try again after opening. | The error message returned because the shard connection information cannot be obtained. Check the parameter settings. Make sure that the database is an ApsaraDB for MongoDB sharded cluster instance and that an endpoint is applied for a shard node. |
403 | GetMongoDbShardInfo.EmptyInstances | Failed to get MongoDb shard information, the return is empty. | The error message returned because the shard connection information cannot be obtained. Check the parameter settings and make sure that the database is an ApsaraDB for MongoDB sharded cluster instance. |
403 | CheckJobFailed.ServerUnAvailable | Unable to check whether the node can connect to the database because the node service is unavailable. | The error message returned because the connection to specific DTS servers cannot be established. Try again. If the error persists, contact technical support. |
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. | The error message returned because DTS does not support data synchronization that involves a PolarDB-X 1.0 instance with a PolarDB for MySQL database shard. |
403 | DbTypeNotSupport.OnlyReadRDS | Synchronization is not currently supported due to latency issues with read-only DRDS instances. | The error message returned because DTS does not support data synchronization that involves a PolarDB-X 1.0 instance with a read-only database shard. |
403 | DTS.Msg.InvalidParameter.KafkaBrokerInvalid | kafka broker configuration must be intranet IP | The error message returned because the node name of a self-managed Kafka cluster hosted on ECS is set to a hostname instead of an IP address. |
403 | DTS.Msg.InvalidParameter.KafkaHostInvalid | kafaka host name should be intranet IP | The error message returned because the Kafka hostname must be an IP address accessed over an internal network. |
403 | DTS.Msg.UpdateJob.OperationDenied.InitStatus | The operation is not permitted due to Dts job status is init. | The error message returned because the task is already started and cannot be modified. Reconfigure the task or modify the objects to be synchronized. If you reconfigure the task, the old task configurations are deleted. |
403 | DTS.Msg.GetMongoDbShardInfo.NoShardAddress | MongoDb has not yet opened the shard connection address, please try again after opening. | The error message returned because the shard connection information cannot be obtained. Check the parameter settings. Make sure that the database is an ApsaraDB for MongoDB sharded cluster instance and that an endpoint is applied for a shard node. |
403 | DTS.Msg.GetMongoDbShardInfo.EmptyInstances | Failed to get MongoDb shard information, the return is empty. | The error message returned because the shard connection information cannot be obtained. Check the parameter settings and make sure that the database is an ApsaraDB for MongoDB sharded cluster instance. |
403 | DTS.Msg.CheckJobFailed.ServerUnAvailable | Unable to check whether the node can connect to the database because the node service is unavailable. | The error message returned because the connection to specific DTS servers cannot be established. Try again. If the error persists, contact technical support. |
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. | The error message returned because DTS does not support data synchronization that involves a PolarDB-X 1.0 instance with a PolarDB for MySQL database shard. |
403 | DTS.Msg.DbTypeNotSupport.OnlyReadRDS | Synchronization is not currently supported due to latency issues with read-only DRDS instances. | The error message returned because DTS does not support data synchronization that involves a PolarDB-X 1.0 instance with a read-only database shard. |
403 | InvalidSecurityToken.Expired | Specified SecurityToken is expired. | The error message returned because the signature expired. Use a new signature. |
400 | Throttling.User | Request was denied due to user flow control. | The error message returned because the number of requests exceeds the limit, and the request is rejected. Try again later. |
500 | ServiceUnavailable | The request has failed due to a temporary failure of the server. | The error message returned because the response of the server timed out or the server was unavailable. Try again. If the error persists, contact technical support. |
For a list of error codes, visit the API Error Center.