Synchronization objects define which databases, schemas, tables, and columns to synchronize when you call the ConfigureSynchronizationJob or ModifySynchronizationObject operation.
Related APIs
Synchronization object definitions
The data type of SynchronizationObjects is Object and supports certain regular expressions, as defined below.
[{
"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"
}]
}]
Additional information
|
Parameter |
Description |
|
SchemaName |
This parameter is available and required only if the source database is SQL Server or PostgreSQL. |
|
NewSchemaName |
This parameter is available only if the destination database is SQL Server or PostgreSQL. |
|
ALLTABLE |
Specifies whether to synchronize all tables in the schema. Default value: false. If you set this parameter to false, specify the TableIncludes and TableExcludes parameters. If you set this parameter to true, specify only the TableIncludes parameter. |
|
PrimaryKey |
This parameter is available and required only if the destination database is AnalyticDB for MySQL or AnalyticDB for PostgreSQL. |
|
PartKey |
This parameter is available and required only if the destination database is AnalyticDB for MySQL or AnalyticDB for PostgreSQL. |
|
ColumnName, NewColumnName |
Ensure that the order of column names in the source table corresponds to the order of column names in the destination table. Otherwise, DTS may not find the corresponding columns. |
|
FilterCondition |
The filter condition. Only data that meets this condition is synchronized to the destination database. Note
|
Configuration examples for synchronization objects
Example 1: Synchronize all tables in the `dtstestdata` database.
[{
"DBName": "dtstestdata"
}]
Example 2: Synchronize all tables in the `dtstestdata` database except for tables whose names match `order.*`.
[{
"DBName": "dtstestdata",
"AllTable": false,
"TableExcludes": [{
"TableName": "order.*"
}]
}]
Example 3: Synchronize the `customer` table from the `dtstestdata` database to an AnalyticDB for MySQL or AnalyticDB for PostgreSQL instance, setting the primary key and distribution key for the destination table to `CREATE_TIME`.
[{
"SchemaName": "dtstestdata",
"TableIncludes": [{
"TableName": "customer",
"PrimaryKey":"CREATE_TIME",
"PartKey":"CREATE_TIME",
}]
}]
Supported regular expressions
Symbol | Rule description |
Period (.) | Matches any single character except for '\r\n'. |
Asterisk (*) | Matches the preceding subexpression zero or more times. For example, |
Question mark (?) | Matches the preceding subexpression zero or one time. For example, |
[characters] Character set | Matches any single character in the brackets. For example, |
[^characters] Negative character set | Matches any single character not in the brackets. For example, |
[character1-character2] Character range | Matches any character within the range from character1 to character2. For example, [0-9] and [a-z]. |