

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

# 在 Amazon Connect 中设置基于规则的身份解析匹配规则
<a name="setup-matching-rule-examples"></a>

## 限制
<a name="setup-matching-rule-example-limits"></a>

您可以从标准资料中选择任何属性来比较相似的资料。例如，您可以选择电话号码、电子邮件地址和姓名以及自定义属性。

您可以创建基于规则的匹配规则，但存在以下限制：
+ 15 个规则级别
+ 每个规则级别最多可以包含 15 个资料属性

## 提示
<a name="setup-matching-rule-example-tips"></a>

为了改善唯一资料的定位并避免合并非重复项的资料，建议使用以下提示：
+ 至少包含一个高基数属性，该属性可以唯一标识客户，并且不同客户之间不太可能相同，例如电话号码、电子邮件地址或账号。
+ 避免使用可能属于不同身份但没有高基数属性的资料属性。
  + 带有**名字**、**姓氏**的**电话号码**是比单独使用**名字**、**姓氏**的组合更严格的规则。
+ 如果在一个规则级别上，该规则的所有配置文件属性都是低基数属性（该属性可属于 500 多个不同的配置文件），Customer Profiles 不会尝试匹配相应配置文件。如果您在域创建过程中设置了 SQS 消息，则会在您的 DLQ 中收到以下 SQS 消息：
  + 规则级别 x 上的所有属性均与 500 多条记录相关联。
+ 务必先启用 “**仅**匹配”，检查匹配结果，只有在对匹配结果满意时**MaxAllowedRuleLevelForMerging**才通过设置来启用合并。

## 解决配置文件冲突以进行配置文件合并
<a name="setup-matching-rule-example-resolve-conflicts"></a>

您可以定义当两个或更多相似资料中属性的值不同（例如地址记录冲突）时要使用哪个记录。

**上次更新时间戳**

默认情况下，资料冲突按新近性进行管理。当两个或更多相似资料的值之间存在冲突时，将选择最近更新的属性。

**具有上次更新时间戳的源**

允许您确定来自特定对象类型的记录的优先级，作为管理资料冲突的数据源。当两个或更多相似资料的值之间存在冲突时，将从指定对象类型中选择最近更新的属性。

如果您的对象类型中未指定时间戳，则将使用记录摄取到 Customer Profiles 中的日期。如果您未设置任何集成，则带有上次更新时间戳的源不可用。添加集成时，您的对象类型将可用作此选项的源。

## 资料冲突缺少时间戳
<a name="setup-matching-rule-example-missing-timestamp-for-profile-conflicts"></a>

如果您有自定义对象类型映射，则会显示“缺少时间戳”消息。

使用 [PutProfileObjectType](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutProfileObjectType.html)API 向您的自定义对象类型添加以下新属性：
+ `Fields.sourceLastUpdatedTimestamp`
+ `sourceLastUpdatedTimestampFormat`

如果未指定时间戳属性，则可以继续创建合并标准，但是，系统会使用将记录摄取到 Customer Profiles 中的默认时间戳。建议在创建合并标准之前添加新属性。

如果您已经定义自定义对象类型并想要更新自定义对象类型，我们每周都会运行定期回填以使用 `Fields.sourceLastUpdatedTimestamp` 更新您的现有资料。要选择定期回填，请执行以下步骤：

1. 使用 [PutProfileObjectType](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutProfileObjectType.html)API 更新您的自定义配置文件对象类型。

1. 更新您的自定义资料对象类型后，请打开 [AWS Support 工单](https://console.aws.amazon.com/support/home)。

1. AWS 将代表您安排回填。定期回填的运行将持续到 2022 年 2 月底。

或者，您可以先删除，然后重新创建使用自定义对象类型的域的摄取/连接器。将使用您的更新对象类型重新摄取您的所有数据并从中解析 `Fields.sourceLastUpdatedTimestamp`。

## 示例：匹配的工作原理
<a name="setup-matching-rule-example-how-matching-works"></a>

### ONE\_TO\_ONE 的示例
<a name="setup-matching-rule-example-one-to-one"></a>

您可以选择 `ONE_TO_ONE` 作为 `AttributeMatchingModel`。选择 `ONE_TO_ONE` 时，只有当子类型完全匹配时，系统才能匹配。

**例如**：

您正在使用 `EmailAddress` 和 `BusinessEmailAddress` 来表示 `EmailAddress` 类型。`AttributeMatchingModel` 为 `ONE_TO_ONE`。

**您的匹配规则是**：

```
Rule Level 1: EmailAddress, LastName, FirstName
Rule Level 2: AccountNumber
```

```
Profile A:
EmailAddress: 1@email.com
BusinessEmailAddress: john@company.com
LastName: Doe
FirstName: John
AccountNumber: account1234
```

```
Profile B:
EmailAddress: 2@email.com
BusinessEmailAddress: john@company.com
LastName: Doe
FirstName: John
AccountNumber: account1234
```

由于 `EmailAddress` 类型、`LastName` 和 `FirstName` 匹配，因此配置文件 A 和配置文件 B 在规则级别 1 上匹配。

### MANY\_TO\_MANY 的示例
<a name="setup-matching-rule-example-many-to-many"></a>

您可以选择 `MANY_TO_MANY` 作为 `AttributeMatchingModel`。选择 `MANY_TO_MANY` 时，系统可以跨属性类型的子类型匹配属性。

**例如**：

您正在使用 `EmailAddress` 和 `BusinessEmailAddress` 来表示 `EmailAddress` 类型。`AttributeMatchingModel` 为 `MANY_TO_MANY`。

**您的匹配规则是**：

```
Rule Level 1: EmailAddress, LastName, FirstName
Rule Level 2: AccountNumber
```

```
Profile A:
EmailAddress: 1@email.com  (match with Profile B’s BusinessEmailAddress)
BusinessEmailAddress: john@company.com
LastName: Doe
FirstName: John
AccountNumber: account1234
```

```
Profile B:
EmailAddress: 2@email.com
BusinessEmailAddress: 1@email.com (match with Profile A's EmailAddress)
LastName: Doe
FirstName: John
AccountNumber: account1234
```

由于 `EmailAddress` 类型、`LastName` 和 `FirstName` 匹配，因此配置文件 A 和配置文件 B 在规则级别 1 上匹配。