ALIYUN::DTS::MigrationJob is used to purchase a data migration instance and configure a data migration task.
We recommend that you use ALIYUN::DTS::Instance to purchase a Data Transmission Service (DTS) instance and ALIYUN::DTS::MigrationJob2 to configure a data migration task.
Syntax
{
"Type": "ALIYUN::DTS::MigrationJob",
"Properties": {
"MigrationJobClass": String,
"SourceEndpoint": Map,
"MigrationJobName": String,
"MigrationMode": Map,
"DestinationEndpoint": Map,
"MigrationObject": List
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
MigrationJobClass | String | Yes | No | The specification of the data migration instance. | Valid values:
For more information about the performance test of each specification, see Specifications of data migration instances. |
SourceEndpoint | Map | No | Yes | The configurations of the source instance. | None. |
MigrationJobName | String | No | Yes | The name of the data migration task. | None. |
MigrationMode | Map | No | Yes | The mode of the data migration task. | None. |
DestinationEndpoint | Map | No | Yes | The configurations of the destination instance. | None. |
MigrationObject | List | No | Yes | The objects that you want to migrate. | None. |
SourceEndpoint syntax
"SourceEndpoint": {
"UserName": String,
"OracleSID": String,
"InstanceID": String,
"IP": String,
"Region": String,
"InstanceType": String,
"Role": String,
"DatabaseName": String,
"OwnerID": String,
"EngineName": String,
"Password": String,
"Port": String
}
SourceEndpoint properties
Property | Type | Required | Editable | Description | Constraint |
UserName | String | Yes | Yes | The username that is used to access the source instance. | None. |
OracleSID | String | No | Yes | The system ID (SID) of the source Oracle database if the engine type of the source instance is Oracle. | None. |
InstanceID | String | No | Yes | The ID of the source instance. | You must specify this property based on the InstanceType value. |
IP | String | No | Yes | The IP address of the source instance. | You must specify this property when the source instance is an on-premises self-managed database. |
Region | String | Yes | Yes | The region ID of the source instance. | None. |
InstanceType | String | Yes | Yes | The type of the source instance. | Valid values:
|
Role | String | No | Yes | The name of the Resource Access Management (RAM) role authorized by the Alibaba Cloud account to which the source instance belongs. This property takes effect when the source instance is an ApsaraDB RDS instance and the source and destination instances belong to different Alibaba Cloud accounts. | You must specify this property when you migrate data across different Alibaba Cloud accounts. For more information about the required permissions of the RAM role and how to grant the permissions to the RAM role, see Configure RAM authorization for cross-account DTS tasks. |
DatabaseName | String | No | Yes | The database name. | This property specifies a database name that is used to establish a connection if the engine type of the source instance is PostgreSQL or MongoDB. |
OwnerID | String | No | Yes | The ID of the Alibaba Cloud account to which the source instance belongs. This property takes effect when the source instance is an ApsaraDB RDS instance and the source and destination instances belong to different Alibaba Cloud accounts. | None. |
EngineName | String | No | Yes | The engine type of the source instance. | Valid values:
You must specify this property when InstanceType is not set to RDS. |
Password | String | Yes | Yes | The password that is used to access the source instance. | None. |
Port | String | No | Yes | The listening port of the source instance. | You must specify this property when the source instance is a self-managed database. |
MigrationMode syntax
"MigrationMode": {
"DataIntialization": Boolean,
"StructureIntialization": Boolean,
"DataSynchronization": Boolean
}
MigrationMode properties
Property | Type | Required | Editable | Description | Constraint |
DataIntialization | Boolean | No | Yes | Specifies whether to perform full data migration in the migration task. | Valid values:
|
StructureIntialization | Boolean | No | Yes | Specifies whether to perform schema migration in the migration task. | Valid values:
|
DataSynchronization | Boolean | No | Yes | Specifies whether to perform incremental data synchronization in the migration task. | Valid values:
|
DestinationEndpoint syntax
"DestinationEndpoint": {
"UserName": String,
"InstanceID": String,
"IP": String,
"Region": String,
"Port": String,
"Role": String,
"DatabaseName": String,
"EngineName": String,
"Password": String,
"InstanceType": String
}
DestinationEndpoint properties
Property | Type | Required | Editable | Description | Constraint |
UserName | String | Yes | Yes | The username that is used to access the destination instance. | None. |
InstanceID | String | No | Yes | The ID of the destination instance. | None. |
IP | String | No | Yes | The IP address of the destination instance. | You must specify this property when the destination instance is an on-premises self-managed database. |
Region | String | Yes | Yes | The region ID of the destination instance. | If the destination instance is a self-managed database, you can specify the ID of a region that is geographically closest to your self-managed data center. |
Port | String | No | Yes | The listening port of the destination instance. | You must specify this property when the destination instance is a self-managed database. |
DatabaseName | String | No | Yes | The database name of the destination instance. | You must specify this property when the engine type of the destination instance is PostgreSQL, PPAS, or MongoDB. |
EngineName | String | No | Yes | The engine type of the destination database. | You must specify this property only when InstanceType is set to RDS, ECS, LocalInstance, or Express. |
Password | String | Yes | Yes | The password that is used to access the destination instance. | None. |
InstanceType | String | Yes | Yes | The type of the destination instance. | The value of this property must be the same as the value of SourceEndpoint.InstanceType. |
Role | String | No | Yes | The name of the RAM role authorized by the Alibaba Cloud account to which the destination instance belongs. This property takes effect when the source instance is an ApsaraDB RDS instance and the source and destination instances belong to different Alibaba Cloud accounts. | None. |
MigrationObject syntax
"MigrationObject": [
{
"TableExcludes": List,
"NewSchemaName": String,
"NewDBName": String,
"TableIncludes": List,
"SchemaName": String,
"DBName": String
}
]
MigrationObject properties
Property | Type | Required | Editable | Description | Constraint |
TableExcludes | List | No | No | The names of tables that you do not want to migrate from the source database. | Example: |
NewSchemaName | String | No | No | The mapped name of the schema that you want to migrate to the destination instance. | This property is available when EngineName is set to SQLServer. |
NewDBName | String | No | No | The mapped name of the database that you want to migrate to the destination instance. | This property is unavailable when EngineName is set to SQLServer. |
TableIncludes | List | No | No | The names of tables that you want to migrate from the source database. | None. |
SchemaName | String | No | No | The name of the schema that you want to migrate. | This property is available when EngineName is set to SQLServer. |
DBName | String | No | No | The name of the database that you want to migrate. | This property is unavailable when EngineName is set to SQLServer.
|
TableIncludes syntax
"TableIncludes": [
{
"ColumnExcludes": List,
"FilterCondition": String,
"NewTableName": String,
"TableName": String,
"ColumnIncludes": List
}
]
TableIncludes properties
Property | Type | Required | Editable | Description | Constraint |
ColumnExcludes | List | No | No | The names of columns that you do not want to migrate from the source database. | Example: |
FilterCondition | String | No | No | The filter condition. | None. |
NewTableName | String | No | No | The mapped name of the table that you want to migrate to the destination instance. | None. |
TableName | String | No | No | The name of the table that you want to migrate. | None. |
ColumnIncludes | List | No | No | The names of columns that you want to migrate from the source table. | None. |
ColumnIncludes syntax
"ColumnIncludes": [
{
"ColumnName": String,
"NewColumnName": String
}
]
ColumnIncludes properties
Property | Type | Required | Editable | Description | Constraint |
ColumnName | String | No | No | The name of the column that you want to migrate from the source table. | None. |
NewColumnName | String | No | No | The mapped name of the column that you want to migrate to the destination instance. | None. |
ColumnExcludes syntax
"ColumnExcludes": [
{
"ColumnName": String
}
]
ColumnExcludes property
Property | Type | Required | Editable | Description | Constraint |
ColumnName | String | No | No | The name of the column that you do not migrate from the source table. | None. |
TableExcludes syntax
"TableExcludes": [
{
"TableName": String
}
]
TableExcludes property
Property | Type | Required | Editable | Description | Constraint |
TableName | String | No | No | The name of the table that you do not want to migrate from the source database. | None. |
Return values
Fn::GetAtt
MigrationJobId: the ID of the data migration task.