本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用简单规则类型创建基于规则的匹配工作流程
先决条件
在创建基于规则的匹配工作流程之前,您必须:
-
创建架构映射。有关更多信息,请参阅 创建架构映射。
-
如果使用 Connect 客户配置文件作为输出目的地,请确保您配置了相应的权限。
以下过程演示如何使用 AWS Entity Resolution 数据匹配服务 控制台或 CreateMatchingWorkflow API 创建具有简单规则类型的基于规则的匹配工作流程。
- Console
-
要使用创建基于规则的匹配工作流程 简便 使用控制台的规则类型
-
登录 AWS 管理控制台 并打开 AWS Entity Resolution 数据匹配服务 控制台,地址为https://console.aws.amazon.com/entityresolution/
。 -
在左侧导航窗格的 “工作流程” 下,选择 “匹配” 。
-
在匹配工作流程页面的右上角,选择创建匹配工作流程。
-
对于步骤 1:指定匹配的工作流程详细信息,请执行以下操作:
-
输入匹配的工作流程名称和可选的描述。
-
对于数据输入,选择AWS Glue 数据库AWS 区域、AWS Glue 表,然后选择相应的架构映射。
您最多可以添加 19 个数据输入。
-
默认情况下,“标准化数据” 选项处于选中状态,因此在匹配之前对数据输入进行归一化。如果您不想对数据进行标准化,请取消选择 “标准化数据” 选项。
注意
在 “创建架构映射” 中,仅以下场景支持标准化:
-
如果将以下名称子类型分组:名字、中间名、姓氏。
-
如果将以下地址子类型分组:街道地址 1 、街道地址 2 、街道地址 3 、城市、州、国家/地区、邮政编码。
-
如果将以下电话子类型分组:电话号码、电话国家/地区代码。
-
-
要指定服务访问权限,请选择一个选项并采取建议的操作。
Option 推荐操作 创建并使用新的服务角色 -
AWS Entity Resolution 数据匹配服务 使用此表所需的策略创建服务角色。
-
默认服务角色名称为
entityresolution-matching-workflow-<timestamp>。 -
您必须拥有创建角色并附加策略的权限。
-
如果您的输入数据已加密,则可以选择 “此数据使用 KMS 密钥加密” 选项,然后输入用于解密数据输入的密AWS KMS 钥。
使用现有服务角色 -
从下拉列表中选择一个现有服务角色名称。
如果您有列出角色的权限,则会显示角色列表。
如果您没有列出角色的权限,可以输入要使用的角色的 Amazon 资源名称 (ARN)。
如果没有现有的服务角色,则使用现有服务角色选项不可用。
-
通过选择在 IAM 中查看外部链接来查看服务角色。
默认情况下, AWS Entity Resolution 数据匹配服务 不会尝试更新现有角色策略以添加必要的权限。
-
-
(可选)要为资源启用标签,请选择添加新标签,然后输入密钥和值对。
-
选择下一步。
-
-
对于步骤 2:选择匹配技术:
-
对于匹配方法,选择Rule-based匹配。
-
对于规则类型,选择简单。
-
对于 “处理节奏”,选择以下选项之一。
-
选择 “手动” 按需运行工作流程以进行批量更新
-
选择 “自动”,在 S3 存储桶中有新数据后立即运行工作流程
注意
如果您选择 “自动”,请确保为您的 S3 存储桶开启了亚马逊 EventBridge 通知。有关 EventBridge 使用 S3 控制台启用亚马逊的说明,请参阅 Amazon S3 用户指南 EventBridge中的启用亚马逊。
-
-
(可选)对于仅用于 ID 映射的索引,您可以选择启用仅对数据进行索引而不生成 ID 的功能。
默认情况下,匹配的工作流程会在数据建立索引后生成 ID。
-
对于匹配规则,输入规则名称,然后选择该规则的匹配密钥。
您最多可以创建 15 条规则,并且可以在规则中应用最多 15 个不同的匹配密钥来定义匹配标准。
-
对于比较类型,请根据您的目标选择以下选项之一。
您的目标 建议的选项 在存储在多个输入字段中的数据中查找匹配项的任意组合 多个输入字段 将比较限制为单个输入字段 单一输入字段 -
选择下一步。
-
-
对于步骤 3:指定数据输出和格式:
-
对于数据输出目的地和格式,选择数据输出的 Amazon S3 位置,以及数据格式是标准化数据还是原始数据。
-
对于加密,如果您选择自定义加密设置,请输入AWS KMS 密钥 ARN。
-
查看系统生成的输出。
-
对于数据输出,决定要包含、隐藏或掩盖哪些字段,然后根据目标采取建议的操作。
您的目标 推荐操作 包含字段 将输出状态保持为 “已包含”。 隐藏字段(从输出中排除) 选择 “输出” 字段,然后选择 “隐藏” 。 掩码字段 选择 “输出” 字段,然后选择 “哈希输出” 。 重置之前的设置 选择 重置。 -
选择下一步。
-
-
对于步骤 4:查看并创建:
-
查看您在之前的步骤中所做的选择,并在必要时进行编辑。
-
选择创建并运行。
将出现一条消息,表明匹配的工作流程已创建且作业已启动。
-
-
在匹配工作流程详细信息页面的 “指标” 选项卡上,在 “上次作业指标” 下查看以下内容:
-
任务 ID 。
-
匹配的工作流作业的状态:已排队、进行中、已完成、失败
-
工作流作业的完成时间。
-
已处理的记录数。
-
未处理的记录数。
-
生成的唯一匹配 ID 。
-
输入记录的数量。
您还可以查看任务指标,以匹配先前在作业历史记录下运行的工作流作业。
-
-
匹配的工作流程任务完成后(状态为已完成),您可以转到数据输出选项卡,然后选择您的 Amazon S3 位置来查看结果。
-
(仅限手动处理类型)如果您创建了具有手动处理类型的Rule-based 匹配工作流,则可以通过在匹配的工作流详细信息页面上选择 “运行工作流程” 来随时运行匹配的工作流程。
-
- API
-
要使用创建基于规则的匹配工作流程 简便 使用 API 的规则类型
注意
默认情况下,工作流程使用标准(批处理)处理。要使用增量(自动处理),必须明确对其进行配置。
-
打开终端或命令提示符提示符发出 API 请求。
-
向以下端点创建 POST 请求:
/matchingworkflows -
在请求标头中,将设置 Content-type 为 application/json。
注意
有关支持的编程语言的完整列表,请参阅 AWS Entity Resolution 数据匹配服务 API 参考。
-
对于请求正文,提供以下必需的 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 个键值对
-
-
(可选)要使用增量处理而不是默认的标准(批处理)处理,请在请求正文中添加以下参数:
"incrementalRunConfig": { "incrementalRunType": "AUTOMATIC" } -
发送 请求。
-
如果成功,您将收到状态码为 200 的响应和包含以下内容的 JSON 正文:
{ "workflowArn": "string", "workflowName": "string", // Plus all configured workflow details } -
如果呼叫不成功,您可能会收到以下错误之一:
-
400 — ConflictException 如果工作流程名称已经存在
-
400 — ValidationException 如果输入未通过验证
-
402 — ExceedsLimitException 如果超过账户限额
-
403 — AccessDeniedException 如果你没有足够的访问权限
-
429 — ThrottlingException 如果请求被限制
-
500 — InternalServerException 如果出现内部服务故障
-
-