

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

# 使用 “简单” 规则类型创建基于规则的匹配工作流程
<a name="rule-based-mw-simple"></a>

**先决条件**

在创建基于规则的匹配工作流程之前，您必须：

1. 创建架构映射。有关更多信息，请参阅 [创建架构映射](create-schema-mapping.md)。

1. 如果使用 Connect 客户档案作为输出目标，请确保配置了相应的权限。

以下过程演示如何使用 AWS Entity Resolution 数据匹配服务 控制台或 API 创建具有**简单**规则类型的基于规则的匹配工作流程。`CreateMatchingWorkflow`

------
#### [ Console ]

**使用创建基于规则的匹配工作流程 **简便** 使用控制台的规则类型**

1. 登录 AWS 管理控制台 并打开 AWS Entity Resolution 数据匹配服务 控制台，网址为[https://console.aws.amazon.com/entityresolution/](https://console.aws.amazon.com/entityresolution/)。

1. 在左侧导航窗格的 “**工作流程**” 下，选择 “**匹配**”。

1. 在**匹配工作流程**页面的右上角，选择**创建匹配工作流程**。

1. 对于 “**步骤 1：指定匹配的工作流程详细信息**”，请执行以下操作：

   1. 输入**匹配的工作流程名称**和可选的**描述**。

   1. 对于**数据输入 **AWS 区域****，选择**AWS Glue 数据库**、**AWS Glue 表**，然后选择相应的**架构映射**。

      您最多可以添加 19 个数据输入。

   1. 默认情况下，“**标准化数据**” 选项处于选中状态，以便在匹配之前对数据输入进行标准化。如果您不想对数据进行标准化处理，请取消选择 “**标准化**数据” 选项。
**注意**  
**创建架构映射**中仅支持以下场景的标准化：  
如果将以下 “**名称**” 子类型分组：**名字**、**中间名、姓****氏**。
如果将以下**地址**子类型分组：**街道地址 1**、**街道地址 2**、**街道地址 3**、**城市**、**州**、**国家**、**邮政编码**。
如果将以下**电话**子类型分组：**电话号码**、**电话国家/地区代码**。

   1. 要指定**服务访问**权限，请选择一个选项并采取建议的操作。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/entityresolution/latest/userguide/rule-based-mw-simple.html)

   1. （可选）要为资源启用**标签**，请选择**添加新标签**，然后输入**密钥**和**值**对。

   1. 选择**下一步**。

1. 对于**步骤 2：选择匹配技术**：

   1. 在 “**匹配方法**” 中，选择**Rule-based匹配**。

   1. 对于**规则类型**，选择**简单**。  
![选择 “基于规则的简单匹配” 选项的匹配技术屏幕。](http://docs.aws.amazon.com/zh_cn/entityresolution/latest/userguide/images/choose-matching-method-rule-based-simple.PNG)

   1. 在 “**处理节奏**” 中，选择以下选项之一。
      + 选择 “**手动**”，按需运行工作流以进行批量更新 
      + 选择 “**自动**” 以在 S3 存储桶中有新数据后立即运行工作流程 
**注意**  
如果您选择 “**自动**”，请确保您的 S3 存储桶已启用 Amazon EventBridge 通知。有关 EventBridge 使用 S3 控制台启用亚马逊的说明，请参阅 [Amazon S3 用户指南 EventBridge中的启用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html)*亚马逊*。

   1. （可选）**对于仅适用于 ID 映射的索**引，您可以选择**启用**仅索引数据而不生成 ID 的功能。

      默认情况下，匹配的工作流程会在数据编制索引后生成 ID。

   1. 在**匹配规则**中，输入**规则名称**，然后为该规则选择**匹配密钥**。

      您最多可以创建 15 个规则，并且可以在规则中应用最多 15 个不同的匹配密钥来定义匹配条件。  
![匹配规则界面包含用于输入规则名称和选择匹配密钥的字段。](http://docs.aws.amazon.com/zh_cn/entityresolution/latest/userguide/images/matching-rules.PNG)

   1. 对于**比较类型**，请根据您的目标选择以下选项之一。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/entityresolution/latest/userguide/rule-based-mw-simple.html)  
![比较类型选项：多个输入字段用于查找存储在多个字段中的数据的匹配项，或者使用单个输入字段来限制在一个字段内进行比较。](http://docs.aws.amazon.com/zh_cn/entityresolution/latest/userguide/images/comparison-type.PNG)

   1. 选择**下一步**。

1. 对于**步骤 3：指定数据输出和格式**：

   1. 对于**数据输出目标和格式**，选择数据输出的 **Amazon S3 位置**，以及**数据格式**是**标准化数据**还是**原始数据**。

   1. 对于**加密**，如果您选择**自定义加密设置**，请输入**AWS KMS 密钥** ARN。

   1. 查看**系统生成的输出**。

   1. 对于**数据输出**，请决定要包含、隐藏或掩盖哪些字段，然后根据目标采取建议的操作。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/entityresolution/latest/userguide/rule-based-mw-simple.html)

   1. 选择**下一步**。

1. 对于**步骤 4：查看并创建**：

   1. 查看您在之前的步骤中所做的选择，并在必要时进行编辑。

   1. 选择**创建并运行**。

      将出现一条消息，表示匹配的工作流程已创建且作业已启动。

1. 在匹配的工作流程详细信息页面的**指标**选项卡上，在 “**上次作业指标**” 下查看以下内容：
   + 作**业 ID**。
   + **匹配工作流作业的**状态**：已**排队**、进行**中**、**已完成、失**败** 
   + 工作流作业的**完成时间**。
   + 已**处理的记录**数。
   + **未处理的记录**数。
   + **生成的唯一匹配 ID**。
   + **输入记录**的数量。

   您还可以查看任务**历史记录下先前运行过的匹配工作流程作业的作业**指标。

1. 匹配的工作流程任务完成（**状态**为**已完成**）后，您可以转到**数据输出**选项卡，然后选择您的 **Amazon S3 位置**以查看结果。

1. （仅限**手动**处理类型）如果您创建了与 “**手动**” 处理类型的**Rule-based 匹配**工作流，则可以在匹配的工作流详细信息页面上选择 “**运行工作流**”，随时运行匹配的工作流。

------
#### [ API ]

**使用创建基于规则的匹配工作流程 **简便** 使用 API 的规则类型**
**注意**  
默认情况下，工作流使用标准（批处理）处理。要使用增量（自动）处理，必须对其进行明确配置。

1. 打开终端或命令提示符发出 API 请求。

1. 向以下端点创建 POST 请求：

   ```
   /matchingworkflows
   ```

1. 在请求标头中，将设置 Content-type 为 application/json。
**注意**  
有关支持的编程语言的完整列表，请参阅 *[AWS Entity Resolution 数据匹配服务 API 参考](https://docs.aws.amazon.com/entityresolution/latest/apireference/Welcome.html)*。

1. 对于请求正文，请提供以下必需的 JSON 参数：

   ```
   {
      "description": "{{string}}",
      "incrementalRunConfig": { 
         "incrementalRunType": "{{string}}"
      },
      "inputSourceConfig": [ 
         { 
            "applyNormalization": {{boolean}},
            "inputSourceARN": "{{string}}",
            "schemaName": "{{string}}"
         }
      ],
      "outputSourceConfig": [ 
         { 
            "applyNormalization": {{boolean}},
            "KMSArn": "{{string}}",
            "output": [ 
               { 
                  "hashed": boolean,
                  "name": "{{string}}"
               }
            ],
            "outputS3Path": "{{string}}"
         }
      ],
      "resolutionTechniques": { 
         "providerProperties": { 
            "intermediateSourceConfiguration": { 
               "intermediateS3Path": "{{string}}"
            },
            "providerConfiguration": {{JSON value}},
            "providerServiceArn": "{{string}}"
         },
         "resolutionType": "RULE_MATCHING",
         "ruleBasedProperties": { 
            "attributeMatchingModel": "{{string}}",
            "matchPurpose": "{{string}}",
            "rules": [ 
               { 
                  "matchingKeys": [ "{{string}}" ],
                  "ruleName": "{{string}}"
               }
            ]
         },
         "ruleConditionProperties": { 
            "rules": [ 
               { 
                  "condition": "{{string}}",
                  "ruleName": "{{string}}"
               }
            ]
         }
      },
      "roleArn": "{{string}}",
      "tags": { 
         "string" : "{{string}}" 
      },
      "workflowName": "{{{{string}}}}"
   }
   ```

   其中：
   + `workflowName`（必填）— 必须是唯一的，并且必须介于 1—255 个字符之间，匹配模式 [a-z A-Z \_0-9-] \*
   + `inputSourceConfig`（必填）— 1—20 个输入源配置列表
   + `outputSourceConfig`（必填）— 只有一个输出源配置
   + `resolutionTechniques`（必需）-设置为 “规则匹配” 以进行基于规则的匹配
   + `roleArn`（必填）— 用于执行工作流程的 IAM 角色 ARN
   + `ruleConditionProperties`（必填）-规则条件列表和匹配规则的名称。

   可选参数包括：
   + `description`— 最多 255 个字符
   + `incrementalRunConfig`— 增量运行类型配置
   + `tags`— 最多 200 个键值对

1. （可选）要使用增量处理而不是默认的标准（批处理）处理，请在请求正文中添加以下参数：

   ```
   "incrementalRunConfig": {
      "incrementalRunType": "AUTOMATIC"
   }
   ```

1. 发送 请求。

1. 如果成功，您将收到状态码 200 的响应和包含以下内容的 JSON 正文：

   ```
   {
      "workflowArn": "string",
      "workflowName": "string",
      // Plus all configured workflow details
   }
   ```

1. 如果呼叫失败，您可能会收到以下错误之一：
   + 400- ConflictException 如果工作流程名称已经存在
   + 400 — ValidationException 如果输入未通过验证
   + 402- ExceedsLimitException 如果超过账户限额
   + 403 — AccessDeniedException 如果你没有足够的访问权限
   + 429 — ThrottlingException 如果请求被限制
   + 500 — InternalServerException 如果内部服务出现故障

------