Lors de l'appel à l'opération ConfigureMigrationJob, vous devez spécifier le paramètre MigrationObject. Cette rubrique présente la définition et des exemples du paramètre MigrationObject.
Opérations d'API associées
Définition du paramètre MigrationObject
Le paramètre MigrationObject est un objet qui prend en charge certaines expressions régulières. Il se définit comme suit.
[
{
"DBName":"The name of the database that you want to migrate",
"NewDBName":"The database name that you want to use in the destination instance",
"SchemaName":"The name of the schema that you want to migrate",
"NewSchemaName":"The schema name that you want to use in the destination instance",
"AllTable": false,
"TableIncludes":[
{
"TableName":"The name of the table that you want to migrate",
"NewTableName":"The table name that you want to use in the destination instance",
"FilterCondition":"where condition",
"PrimaryKey":"The primary key columns of the table that you want to migrate. Separate multiple values with commas (,).",
"PartKey":"The distribution columns of the table that you want to migrate. Separate multiple values with commas (,).",
"ColumnIncludes":[
{
"ColumnName":"The name of the column that you want to migrate from the source table",
"NewColumnName":"The column name that you want to use in the destination instance"
}
],
"ColumnExcludes":[{
"ColumnName":"The name of the column that you do not want to migrate from the source table"
}]
}
],
"TableExcludes":[{
"TableName":"The name of the table that you do not want to migrate"
}]
}
]
|
Paramètre |
Description |
|
SchemaName |
Ce paramètre est disponible et requis uniquement lorsque la base de données source est SQL Server ou PostgreSQL. |
|
NewSchemaName |
Ce paramètre est disponible uniquement lorsque la base de données de destination est SQL Server ou PostgreSQL. |
|
ALLTABLE |
Indique s'il faut configurer toutes les tables du schéma pour la migration. La valeur par défaut est false. Vous pouvez également définir ce paramètre sur true. Si la valeur est false, vous devez spécifier les paramètres TableIncludes et TableExcludes. Si la valeur est true, vous devez spécifier le paramètre TableIncludes. |
|
PrimaryKey |
Ce paramètre est disponible et requis uniquement lorsque la base de données de destination est AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
|
PartKey |
Ce paramètre est disponible et requis uniquement lorsque la base de données de destination est AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
|
ColumnName, ColNewColumnNameumnName |
Assurez-vous que les noms de colonnes de la table source correspondent aux noms de colonnes de la table de destination dans le même ordre. Dans le cas contraire, DTS risque de ne pas trouver les colonnes correspondantes. |
|
FilterCondition |
Condition de filtrage. Seules les données répondant à cette condition sont migrées vers la base de données de destination. Remarque
|
Exemples de configuration
Exemple 1 : Migrer toutes les tables de la base de données dtstestdata.
[{
"DBName": "dtstestdata"
}]
Exemple 2 : Migrer toutes les tables de la base de données dtstestdata vers la base de données mysqltest de l'instance de destination.
[{
"DBName": "dtstestdata",
"NewDBName": "mysqltest"
}]
Exemple 3 : Migrer toutes les tables des bases de données dtstestdata et mysqltest.
[{
"DBName": "dtstestdata"
},{
"DBName": "mysqltest"
}]
Exemple 4 : Migrer toutes les tables de la base de données dtstestdata, à l'exception des tables dont le nom commence par « order ».
[{
"DBName": "dtstestdata",
"AllTable": false,
"TableExcludes": [{
"TableName": "order.*"
}]
}]
Exemple 5 : Migrer la table customer de la base de données dtstestdata et migrer uniquement les données dont la valeur de la colonne ID est supérieure à 100.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"FilterCondition": "id > 100"
}]
}]
Exemple 7 : Migrer uniquement les colonnes ID et address de la table customer de la base de données dtstestdata.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"ColumnIncludes": [{
"ColumnName": "id"
},
{
"ColumnName": "address"
}
]
}]
}]
Exemple 8 : Migrer la table customer de la base de données dtstestdata vers AnalyticDB for MySQL ou AnalyticDB for PostgreSQL et définir la clé primaire et la clé de distribution de la table de destination sur CREATE_TIME.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"PrimaryKey":"CREATE_TIME",
"PartKey":"CREATE_TIME",
}]
}]
Expressions régulières prises en charge
|
Symbole |
Description de la règle |
|
Point (.) |
Correspond à n'importe quel caractère unique, à l'exception de '\r\n'. |
|
Astérisque (*) |
Correspond à zéro ou plusieurs occurrences de la sous-expression précédente. Par exemple, |
|
Point d'interrogation (?) |
Correspond à zéro ou une occurrence de la sous-expression précédente. Par exemple, |
|
[caractères] Ensemble de caractères |
Correspond à n'importe quel caractère unique présent entre les crochets. Par exemple, |
|
[^caractères] Ensemble de caractères négatif |
Correspond à n'importe quel caractère unique absent des crochets. Par exemple, |
|
[caractère1-caractère2] Plage de caractères |
Correspond à n'importe quel caractère compris dans la plage allant de caractère1 à caractère2. Par exemple, [0-9] et [a-z]. |