Ao chamar a operação ConfigureMigrationJob, especifique o parâmetro MigrationObject. Este tópico apresenta a definição e exemplos desse parâmetro.
Operações de API relacionadas
Definição do parâmetro MigrationObject
O parâmetro MigrationObject é um objeto que aceita determinadas expressões regulares. Sua definição é a seguinte:
[
{
"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"
}]
}
]
|
Parâmetro |
Descrição |
|
SchemaName |
Este parâmetro está disponível e é obrigatório apenas quando o banco de dados de origem for SQL Server ou PostgreSQL. |
|
NewSchemaName |
Disponível somente quando o banco de dados de destino for SQL Server ou PostgreSQL. |
|
ALLTABLE |
Defina se todas as tabelas do esquema serão migradas. O valor padrão é false. Também é possível definir este parâmetro como true. Se o valor for false, especifique os parâmetros TableIncludes e TableExcludes. Caso o valor seja true, especifique o parâmetro TableIncludes. |
|
PrimaryKey |
Aplicável e obrigatório exclusivamente quando o banco de dados de destino for AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
|
PartKey |
Necessário apenas se o banco de dados de destino for AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
|
ColumnName, ColNewColumnNameumnName |
Garanta que os nomes das colunas da tabela de origem correspondam aos nomes das colunas da tabela de destino na mesma ordem. Caso contrário, o DTS pode não localizar as colunas correspondentes. |
|
FilterCondition |
Condição de filtro. Apenas os dados que atendem a essa condição são migrados para o banco de dados de destino. Nota
|
Exemplos de configuração
Exemplo 1: Migrar todas as tabelas do banco de dados dtstestdata.
[{
"DBName": "dtstestdata"
}]
Exemplo 2: Migrar todas as tabelas do banco de dados dtstestdata para o banco de dados mysqltest na instância de destino.
[{
"DBName": "dtstestdata",
"NewDBName": "mysqltest"
}]
Exemplo 3: Migrar todas as tabelas dos bancos de dados dtstestdata e mysqltest.
[{
"DBName": "dtstestdata"
},{
"DBName": "mysqltest"
}]
Exemplo 4: Migrar todas as tabelas do banco de dados dtstestdata, exceto aquelas cujos nomes têm o prefixo "order".
[{
"DBName": "dtstestdata",
"AllTable": false,
"TableExcludes": [{
"TableName": "order.*"
}]
}]
Exemplo 5: Migrar a tabela customer no banco de dados dtstestdata, transferindo apenas registros com valores superiores a 100 na coluna ID.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"FilterCondition": "id > 100"
}]
}]
Exemplo 7: Migrar somente as colunas ID e address da tabela customer no banco de dados dtstestdata.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"ColumnIncludes": [{
"ColumnName": "id"
},
{
"ColumnName": "address"
}
]
}]
}]
Exemplo 8: Migrar a tabela customer do banco de dados dtstestdata para AnalyticDB for MySQL ou AnalyticDB for PostgreSQL, definindo a chave primária e a chave de distribuição da tabela de destino como CREATE_TIME.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"PrimaryKey":"CREATE_TIME",
"PartKey":"CREATE_TIME",
}]
}]
Expressões regulares compatíveis
|
Símbolo |
Descrição da regra |
|
Ponto (.) |
Corresponde a qualquer caractere único, exceto '\r\n'. |
|
Asterisco (*) |
Corresponde à subexpressão anterior zero ou mais vezes. Por exemplo, |
|
Ponto de interrogação (?) |
Corresponde à subexpressão anterior zero ou uma vez. Por exemplo, |
|
[caracteres] Conjunto de caracteres |
Corresponde a qualquer caractere único dentro dos colchetes. Por exemplo, |
|
[^caracteres] Conjunto negado de caracteres |
Corresponde a qualquer caractere único que não esteja nos colchetes. Por exemplo, |
|
[caractere1-caractere2] Intervalo de caracteres |
Corresponde a qualquer caractere dentro do intervalo de caractere1 a caractere2. Por exemplo, [0-9] e [a-z]. |