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