Al invocar la operación ConfigureMigrationJob, debe especificar el parámetro MigrationObject. Este tema proporciona la definición y ejemplos del parámetro MigrationObject.
Operaciones de API relacionadas
Definición del parámetro MigrationObject
El parámetro MigrationObject es un objeto compatible con ciertas regular expressions. Se define de la siguiente manera.
[
{
"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"
}]
}
]
Tabla 1. Información adicional
|
Parámetro |
Descripción |
|
SchemaName |
Este parámetro está disponible y es obligatorio solo cuando la base de datos de origen es SQL Server o PostgreSQL. |
|
NewSchemaName |
Este parámetro está disponible solo cuando la base de datos de destino es SQL Server o PostgreSQL. |
|
ALLTABLE |
Especifica si se deben configurar todas las tablas del esquema para su migración. El valor predeterminado es false. También puede establecer este parámetro en true. Si el valor es false, debe especificar los parámetros TableIncludes y TableExcludes. Si el valor es true, debe especificar el parámetro TableIncludes. |
|
PrimaryKey |
Este parámetro está disponible y es obligatorio solo cuando la base de datos de destino es AnalyticDB for MySQL o AnalyticDB for PostgreSQL. |
|
PartKey |
Este parámetro está disponible y es obligatorio solo cuando la base de datos de destino es AnalyticDB for MySQL o AnalyticDB for PostgreSQL. |
|
ColumnName, ColNewColumnNameumnName |
Asegúrese de que los nombres de columna de la tabla de origen correspondan a los nombres de columna de la tabla de destino en el mismo orden. De lo contrario, DTS podría no encontrar las columnas correspondientes. |
|
FilterCondition |
La condición de filtro. Solo los datos que cumplen con la condición de filtro se migran a la base de datos de destino. Nota
|
Ejemplos de configuración
Ejemplo 1: Migrar todas las tablas de la base de datos dtstestdata.
[{
"DBName": "dtstestdata"
}]
Ejemplo 2: Migrar todas las tablas de la base de datos dtstestdata a la base de datos mysqltest en la instancia de destino.
[{
"DBName": "dtstestdata",
"NewDBName": "mysqltest"
}]
Ejemplo 3: Migrar todas las tablas de la base de datos dtstestdata y de la base de datos mysqltest.
[{
"DBName": "dtstestdata"
},{
"DBName": "mysqltest"
}]
Ejemplo 4: Migrar todas las tablas de la base de datos dtstestdata, excepto aquellas cuyos nombres tienen el prefijo "order".
[{
"DBName": "dtstestdata",
"AllTable": false,
"TableExcludes": [{
"TableName": "order.*"
}]
}]
Ejemplo 5: Migrar la tabla customer de la base de datos dtstestdata y migrar solo los datos con valores mayores a 100 en la columna ID.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"FilterCondition": "id > 100"
}]
}]
Ejemplo 7: Migrar solo las columnas ID y address de la tabla customer en la base de datos dtstestdata.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"ColumnIncludes": [{
"ColumnName": "id"
},
{
"ColumnName": "address"
}
]
}]
}]
Ejemplo 8: Migrar la tabla customer de la base de datos dtstestdata a AnalyticDB for MySQL o AnalyticDB for PostgreSQL y establecer la clave principal y la clave de distribución de la tabla de destino en CREATE_TIME.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"PrimaryKey":"CREATE_TIME",
"PartKey":"CREATE_TIME",
}]
}]
Expresiones regulares compatibles
|
Símbolo |
Descripción de la regla |
|
Punto (.) |
Coincide con cualquier carácter individual, excepto '\r\n'. |
|
Asterisco (*) |
Coincide con la subexpresión anterior cero o más veces. Por ejemplo, |
|
Signo de interrogación (?) |
Coincide con la subexpresión anterior cero o una vez. Por ejemplo, |
|
[caracteres] Conjunto de caracteres |
Coincide con cualquier carácter individual dentro de los corchetes. Por ejemplo, |
|
[^caracteres] Conjunto de caracteres negado |
Coincide con cualquier carácter individual que no esté dentro de los corchetes. Por ejemplo, |
|
[carácter1-carácter2] Rango de caracteres |
Coincide con cualquier carácter dentro del rango desde carácter1 hasta carácter2. Por ejemplo, [0-9] y [a-z]. |