

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 JSON 指定表选择和转换规则
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation"></a>

要指定在迁移过程中要应用的表映射，可以创建 JSON 文件。如果使用控制台创建迁移任务，则可浏览此 JSON 文件或在表映射框中直接输入 JSON。如果使用 CLI 或 API 执行迁移，那么可以使用 `CreateReplicationTask` 或 `ModifyReplicationTask` API 操作的 `TableMappings` 参数指定此文件。

AWS DMS 只能处理大小不超过 2 MB 的表映射 JSON 文件。我们建议您在处理 DMS 任务时，将映射规则 JSON 文件大小保持在 2 MB 限制以下。这样可防止在创建或修改任务过程中出现意外错误。如果映射规则文件超过 2 MB 限制，我们建议您将表拆分为多个任务，以减小映射规则文件的大小，使其保持在该限制以下。

您可以指定要处理哪些表、视图和架构。您还可以执行表、视图和架构转换，并指定 AWS DMS 如何加载单独的表和视图。您使用以下规则类型为这些选项创建表映射规则：
+ `selection` 规则 – 确定要加载的源表、视图和架构的类型和名称。有关更多信息，请参阅 [选择规则和操作](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md)。
+ `transformation` 规则 – 指定在将源中的特定源表和架构加载到目标之前，对其所做某些更改或添加。有关更多信息，请参阅 [转换规则和操作](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md)。

  此外，要定义新列和现有列的内容，可以在转换规则中使用表达式。有关更多信息，请参阅 [使用转换规则表达式定义列内容](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md)。
+ `table-settings` 规则 – 指定 DMS 任务为各个表加载数据的方式。有关更多信息，请参阅 [表和集合设置规则和操作](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md)。

**注意**  
对于 Amazon S3 目标，也可以使用 `post-processing` 规则类型和 `add-tag` 规则操作，标记映射到所选表和架构的 S3 对象。有关更多信息，请参阅 [Amazon S3 对象标记](CHAP_Target.S3.md#CHAP_Target.S3.Tagging)。  
对于以下目标，可以使用 `object-mapping` 规则类型，指定将所选架构和表迁移到目标的方式和位置：  
Amazon DynamoDB – 有关更多信息，请参阅[使用对象映射将数据迁移到 DynamoDB](CHAP_Target.DynamoDB.md#CHAP_Target.DynamoDB.ObjectMapping)。
Amazon Kinesis – 有关更多信息，请参阅[使用对象映射将数据迁移到 Kinesis 数据流](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.ObjectMapping)。
Apache Kafka – 有关更多信息，请参阅[使用对象映射将数据迁移到 Kafka 主题](CHAP_Target.Kafka.md#CHAP_Target.Kafka.ObjectMapping)。