View a markdown version of this page

使用简单规则类型创建基于规则的匹配工作流程 - AWS Entity Resolution 数据匹配服务

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

使用简单规则类型创建基于规则的匹配工作流程

先决条件

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

  1. 创建架构映射。有关更多信息,请参阅 创建架构映射

  2. 如果使用 Connect 客户配置文件作为输出目的地,请确保您配置了相应的权限。

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

Console
要使用创建基于规则的匹配工作流程 简便 使用控制台的规则类型
  1. 登录 AWS 管理控制台 并打开 AWS Entity Resolution 数据匹配服务 控制台,地址为https://console.aws.amazon.com/entityresolution/

  2. 在左侧导航窗格的 “工作流程” 下,选择 “匹配”

  3. 匹配工作流程页面的右上角,选择创建匹配工作流程

  4. 对于步骤 1:指定匹配的工作流程详细信息,请执行以下操作:

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

    2. 对于数据输入,选择AWS Glue 数据库AWS 区域AWS Glue 表,然后选择相应的架构映射

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

    3. 默认情况下,“标准化数据” 选项处于选中状态,因此在匹配之前对数据输入进行归一化。如果您不想对数据进行标准化,请取消选择 “标准化数据” 选项。

      注意

      在 “创建架构映射” 中,仅以下场景支持标准化

      • 如果将以下名称子类型分组:名字中间名姓氏

      • 如果将以下地址子类型分组:街道地址 1 街道地址 2 街道地址 3 城市、国家/地区邮政编码

      • 如果将以下电话子类型分组:电话号码电话国家/地区代码

    4. 要指定服务访问权限,请选择一个选项并采取建议的操作。

      Option 推荐操作
      创建并使用新的服务角色
      • AWS Entity Resolution 数据匹配服务 使用此表所需的策略创建服务角色。

      • 默认服务角色名称entityresolution-matching-workflow-<timestamp>

      • 您必须拥有创建角色并附加策略的权限。

      • 如果您的输入数据已加密,则可以选择 “此数据使用 KMS 密钥加密” 选项,然后输入用于解密数据输入的密AWS KMS 钥。

      使用现有服务角色
      1. 从下拉列表中选择一个现有服务角色名称

        如果您有列出角色的权限,则会显示角色列表。

        如果您没有列出角色的权限,可以输入要使用的角色的 Amazon 资源名称 (ARN)。

        如果没有现有的服务角色,则使用现有服务角色选项不可用。

      2. 通过选择在 IAM 中查看外部链接来查看服务角色。

        默认情况下, AWS Entity Resolution 数据匹配服务 不会尝试更新现有角色策略以添加必要的权限。

    5. (可选)要为资源启用标签,请选择添加新标签,然后输入密钥对。

    6. 选择下一步

  5. 对于步骤 2:选择匹配技术

    1. 对于匹配方法,选择Rule-based匹配

    2. 对于规则类型,选择简单

      选择 “基于简单规则的匹配” 选项的匹配技巧屏幕。
    3. 对于 “处理节奏”,选择以下选项之一。

      • 选择 “手动” 按需运行工作流程以进行批量更新

      • 选择 “自动”,在 S3 存储桶中有新数据后立即运行工作流程

      注意

      如果您选择 “自动”,请确保为您的 S3 存储桶开启了亚马逊 EventBridge 通知。有关 EventBridge 使用 S3 控制台启用亚马逊的说明,请参阅 Amazon S3 用户指南 EventBridge中的启用亚马逊

    4. (可选)对于仅用于 ID 映射的索引,您可以选择启用仅对数据进行索引而不生成 ID 的功能。

      默认情况下,匹配的工作流程会在数据建立索引后生成 ID。

    5. 对于匹配规则,输入规则名称,然后选择该规则匹配密钥。

      您最多可以创建 15 条规则,并且可以在规则中应用最多 15 个不同的匹配密钥来定义匹配标准。

      匹配规则与用于输入规则名称和选择匹配密钥的字段交互。
    6. 对于比较类型,请根据您的目标选择以下选项之一。

      您的目标 建议的选项
      在存储在多个输入字段中的数据中查找匹配项的任意组合 多个输入字段
      将比较限制为单个输入字段 单一输入字段
      比较类型选项:多个输入字段用于查找存储在多个字段中的数据的匹配项,或单个输入字段以限制一个字段内的比较。
    7. 选择下一步

  6. 对于步骤 3:指定数据输出和格式

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

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

    3. 查看系统生成的输出

    4. 对于数据输出,决定要包含、隐藏或掩盖哪些字段,然后根据目标采取建议的操作。

      您的目标 推荐操作
      包含字段 将输出状态保持为 “已包含”。
      隐藏字段(从输出中排除) 选择 “输出” 字段,然后选择 “隐藏”
      掩码字段 选择 “输出” 字段,然后选择 “哈希输出”
      重置之前的设置 选择 重置
    5. 选择下一步

  7. 对于步骤 4:查看并创建

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

    2. 选择创建并运行

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

  8. 在匹配工作流程详细信息页面的 指标” 选项卡上,在 “上次作业指标” 下查看以下内容

    • 任务 ID

    • 匹配的工作流作业状态:已排队、进行已完成、失败

    • 工作流作业的完成时间。

    • 已处理的记录数

    • 未处理的记录数

    • 生成的唯一匹配 ID

    • 输入记录的数量

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

  9. 匹配的工作流程任务完成后(状态已完成),您可以转到数据输出选项卡,然后选择您的 Amazon S3 位置来查看结果。

  10. (仅限手动处理类型)如果您创建了具有手动处理类型的Rule-based 匹配工作流,则可以通过在匹配的工作流详细信息页面上选择 “运行工作流程” 来随时运行匹配的工作流程。

API
要使用创建基于规则的匹配工作流程 简便 使用 API 的规则类型
注意

默认情况下,工作流程使用标准(批处理)处理。要使用增量(自动处理),必须明确对其进行配置。

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

  2. 向以下端点创建 POST 请求:

    /matchingworkflows
  3. 在请求标头中,将设置 Content-type 为 application/json。

    注意

    有关支持的编程语言的完整列表,请参阅 AWS Entity Resolution 数据匹配服务 API 参考

  4. 对于请求正文,提供以下必需的 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(必填)-设置为 “RULE_MATCHING” 以进行基于规则的匹配

    • roleArn(必填)— 用于执行工作流程的 IAM 角色 ARN

    • ruleConditionProperties(必填)-规则条件列表和匹配规则的名称。

    可选参数包括:

    • description— 最多 255 个字符

    • incrementalRunConfig— 增量运行类型配置

    • tags— 最多 200 个键值对

  5. (可选)要使用增量处理而不是默认的标准(批处理)处理,请在请求正文中添加以下参数:

    "incrementalRunConfig": { "incrementalRunType": "AUTOMATIC" }
  6. 发送 请求。

  7. 如果成功,您将收到状态码为 200 的响应和包含以下内容的 JSON 正文:

    { "workflowArn": "string", "workflowName": "string", // Plus all configured workflow details }
  8. 如果呼叫不成功,您可能会收到以下错误之一:

    • 400 — ConflictException 如果工作流程名称已经存在

    • 400 — ValidationException 如果输入未通过验证

    • 402 — ExceedsLimitException 如果超过账户限额

    • 403 — AccessDeniedException 如果你没有足够的访问权限

    • 429 — ThrottlingException 如果请求被限制

    • 500 — InternalServerException 如果出现内部服务故障