Ao chamar a operação ConfigureMigrationJob, é obrigatório especificar o parâmetro MigrationObject. Este tópico apresenta a definição e exemplos do parâmetro MigrationObject.
Operações de API relacionadas
Definição do parâmetro MigrationObject
O valor do parâmetro MigrationObject consiste em um array de objetos JSON. Há suporte para expressões regulares. O script a seguir exibe a definição do parâmetro.
[
{
"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 deve ser especificado apenas se o tipo de mecanismo do banco de dados de origem for SQL Server ou PostgreSQL. |
| NewSchemaName | Disponível somente quando o mecanismo do banco de dados de destino é SQL Server ou PostgreSQL. |
| ALLTABLE | Define se todas as tabelas do schema serão migradas. O valor padrão é false. É possível alterar esse valor para true. Se o valor for false, especifique os parâmetros TableIncludes e TableExcludes. Caso o valor seja true, defina o parâmetro TableIncludes. |
| PrimaryKey | Aplicável e obrigatório exclusivamente para bancos de dados de destino AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
| PartKey | Necessário apenas se o destino for AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
| ColumnName e ColNewColumnNameumnName | Garanta que os nomes das colunas da tabela de origem correspondam individualmente aos nomes das colunas da tabela de destino. Caso contrário, o DTS poderá falhar ao identificar as colunas correspondentes. |
| FilterCondition | Condições de filtro. Apenas os dados que atendem às condições especificadas 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 começam com "order".
[{
"DBName": "dtstestdata",
"AllTable": false,
"TableExcludes": [{
"TableName": "order.*"
}]
}]
Exemplo 5: Migrar a tabela customer do banco de dados dtstestdata, transferindo apenas registros com valores superiores a 100 na coluna ID.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"FilterCondition": "id > 100"
}]
}]
Exemplo 6: Migrar a tabela customer do banco de dados dtstestdata, incluindo apenas as colunas ID e address.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"ColumnIncludes": [{
"ColumnName": "id"
},
{
"ColumnName": "address"
}
]
}]
}]
Exemplo 7: Migrar a tabela customer do banco de dados dtstestdata para AnalyticDB for MySQL ou AnalyticDB for PostgreSQL, definindo CREATE_TIME como chave primária e chave de distribuição na tabela de destino.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"PrimaryKey":"CREATE_TIME",
"PartKey":"CREATE_TIME",
}]
}]
Expressões regulares suportadas
|
Símbolo |
Descrição |
|
Ponto (.) |
Corresponde a qualquer caractere único, exceto '\r\n'. |
|
Asterisco (*) |
Indica zero ou mais repetições da subexpressão anterior. Por exemplo, |
|
Ponto de interrogação (?) |
Representa zero ou uma repetição da subexpressão precedente. Assim, |
|
Conjunto de caracteres [caracteres] |
Aceita qualquer caractere único listado entre colchetes. Como ilustração, |
|
Conjunto negado [^caracteres] |
Exclui os caracteres especificados entre colchetes. Dessa forma, |
|
Intervalo de caracteres [caractere1-caractere2] |
Abrange todos os caracteres situados entre caractere1 e caractere2, como [0-9] e [a-z]. |