AWS DMS 使用 CDC(Change Data Capture)捕获源 SQL Server 表中的更改,然后通过 AWS DMS 任务将数据写入目标存储库。但是,有时在 AWS DMS 任务中,某些表列可能会被跳过。出现此问题的原因是没有指定 AWS DMS 应捕获的列,默认情况下不会捕获 CDC 字段和系统版本控制列。
解决此问题的方法是在 AWS DMS 任务设置中添加'操作列表”和'列映射”选项。 '操作列表”用于指定应该捕获的操作类型,而'列映射”选项则用于指定应捕获的表列。例如,以下示例显示了如何在 AWS DMS 任务设置中指定要捕获的操作列表和列映射:
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "dbo",
"table-name": "my_table"
},
"rule-action": "include",
"filters": [],
"column-mapping": {
"type": "select",
"select": {
"col1": "col1",
"col2": "col2",
"col3": "col3"
}
}
}
]
}
在上面的示例中,'object-locator”指定了应该将规则应用于的表,'rule-action”指定了'include”以指示 AWS DMS 经过筛选后应包括此表,而'column-mapping”指定应该捕获的列名称。
通过添加这些选项,AWS DMS 将捕获指定的表列,并将其传输到目标存储库中。
上一篇:AWSDMS在将Aurora数据库的更改操作复制到Kinesis流时,对于DELETE操作,未复制整个记录的JSON,并且在运行一段时间后停止复制。
下一篇:AWSDMS中awsdms_apply_exceptions和awsdms_validation_failures_v1之间有什么区别?