Os objetos de sincronização definem quais bancos de dados, schemas, tabelas e colunas devem ser sincronizados ao chamar a operação ConfigureSynchronizationJob ou ModifySynchronizationObject.
APIs relacionadas
Definições de objetos de sincronização
O tipo de dado de SynchronizationObjects é Object e aceita determinadas expressões regulares, conforme definido abaixo.
[{
"DBName":"The name of the database to synchronize",
"NewDBName":"The alias for the database in the destination instance",
"SchemaName":"The name of the schema to synchronize",
"NewSchemaName":"The alias for the schema in the destination instance",
"AllTable": false,
"TableIncludes":[{
"TableName":"The name of the table to synchronize",
"NewTableName":"The alias for the table in the destination instance",
"FilterCondition":"The WHERE clause that specifies the filter condition",
"PrimaryKey":"The primary key column of the table to synchronize. Separate multiple columns with a comma (,).",
"PartKey":"The distribution column of the table to synchronize. Separate multiple columns with a comma (,).",
"ColumnIncludes":[{
"ColumnName":"The name of a column to synchronize from the source table",
"NewColumnName":"The alias for the column in the destination table"
}],
"ColumnExcludes":[{
"ColumnName":"The name of a column that you do not want to synchronize from the source table"
}]
}],
"TableExcludes": [{
"TableName": "The name of a table that you do not want to synchronize from the database"
}]
}]
Informações adicionais
|
Parâmetro |
Descrição |
|
SchemaName |
Este parâmetro está disponível e é obrigatório apenas se o banco de dados de origem for SQL Server ou PostgreSQL. |
|
NewSchemaName |
Disponível somente quando o banco de dados de destino é SQL Server ou PostgreSQL. |
|
ALLTABLE |
Defina se todas as tabelas do schema serão sincronizadas. Valor padrão: false. Ao definir este parâmetro como false, especifique os parâmetros TableIncludes e TableExcludes. Caso defina como true, informe apenas 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 quando o destino for AnalyticDB for MySQL ou AnalyticDB for PostgreSQL. |
|
ColumnName, NewColumnName |
Garanta que a ordem dos nomes das colunas na tabela de origem corresponda à ordem na tabela de destino. Caso contrário, o DTS pode não localizar as colunas correspondentes. |
|
FilterCondition |
Condição de filtro. Somente os dados que atendem a essa condição são sincronizados com o banco de dados de destino. Nota
|
Exemplos de configuração de objetos de sincronização
Exemplo 1: Sincronizar todas as tabelas do banco de dados dtstestdata.
[{
"DBName": "dtstestdata"
}]
Exemplo 2: Sincronizar todas as tabelas do banco de dados dtstestdata, exceto aquelas cujos nomes correspondem a order.*.
[{
"DBName": "dtstestdata",
"AllTable": false,
"TableExcludes": [{
"TableName": "order.*"
}]
}]
Exemplo 3: Sincronizar a tabela customer do banco de dados dtstestdata para uma instância 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 suportadas
|
Símbolo |
Descrição da regra |
|
Ponto (.) |
Corresponde a qualquer caractere único, exceto '\r\n'. |
|
Asterisco (*) |
Repete a subexpressão anterior zero ou mais vezes. Por exemplo, |
|
Interrogação (?) |
Aplica a subexpressão precedente zero ou uma vez. Assim, |
|
[caracteres] Conjunto de caracteres |
Aceita qualquer caractere individual dentro dos colchetes. Exemplo: |
|
[^caracteres] Conjunto negado |
Seleciona caracteres fora dos colchetes. Logo, |
|
[caractere1-caractere2] Intervalo de caracteres |
Abrange qualquer caractere entre caractere1 e caractere2. Exemplos incluem [0-9] e [a-z]. |