本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
选择规则和操作
通过使用表映射,可通过选择规则和操作来指定要使用的表、视图和架构。对于使用选择规则类型的表映射规则,您可应用以下值。
参数 | 可能的值 | 描述 |
---|---|---|
rule-type |
selection |
一个选择规则。在指定表映射时定义至少一个选择规则。 |
rule-id |
一个数字值。 | 一个用于标识规则的唯一数字值。如果您使用控制台创建规则,则控制台会为您创建此值。 |
rule-name |
一个字母数字值。 | 一个用于标识规则的唯一名称。如果您使用控制台创建规则,则控制台会为您创建此值。 |
rule-action |
include , exclude ,
explicit |
一个值,包括或排除规则所选定的对象。如果指定 explicit ,则可以选择并仅包含一个对应于显式指定的表和架构的对象。 |
object-locator |
一个带以下参数的对象:
|
规则应用于的每个架构和表或视图的名称。您还可以指定某个规则只包含表、只包含视图还是同时包含表和视图。如果
如果 支持的视图的源包括:
注意AWS DMS 从不将源视图加载到目标视图。源视图加载到目标上等同的表,具有与源上视图的相同名称。 包含集合的数据库支持的源包括:
|
load-order |
一个正整数。最大值为 2147483647。 | 加载表和视图的优先级。首先加载具有较高值的表和视图。 |
filters |
一个对象数组。 | 一个或多个用于筛选源的对象。您指定要在源中的单个列上筛选的对象参数。您指定要在多个列上筛选的多个对象。有关更多信息,请参阅 使用源筛选器。 |
例 迁移架构中的所有表
以下示例将所有表从源中名为 Test
的架构中迁移到目标端点。
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" } ] }
例 迁移架构中的一些表
以下示例将所有表(以 DMS
开头的表除外)从源中名为 Test
的架构中迁移到目标端点。
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "DMS%" }, "rule-action": "exclude" } ] }
例 在单个架构中迁移指定的单个表
以下示例将源中 NewCust
架构中的 Customer
表迁移到目标端点。
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "NewCust", "table-name": "Customer" }, "rule-action": "explicit" } ] }
注意
您可以通过指定多个选择规则在多个表和架构上显式选择。
例 按设定顺序迁移表
以下示例迁移两个表。表loadfirst
(优先级为 1)在表loadsecond
之前初始化。
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "loadsecond" }, "rule-action": "include", "load-order": "1" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "loadfirst" }, "rule-action": "include", "load-order": "2" } ] }
注意
load-order
适用于表初始化。如果 MaxFullLoadSubTasks
大于 1,则连续表的加载不会等待上一个表的加载完成。
例 迁移架构中的部分视图
以下示例将部分视图从源中名为 Test
的架构迁移到目标中等同的表。
{ "rules": [ { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "view_DMS%", "table-type": "view" }, "rule-action": "include" } ] }
例 迁移架构中的所有表和视图
以下示例将所有表和视图从源中名为 report
的架构迁移到目标中等同的表。
{ "rules": [ { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "report", "table-name": "%", "table-type": "all" }, "rule-action": "include" } ] }