对象类型映射示例 - Amazon Connect

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

对象类型映射示例

生成资料的对象类型映射

以下示例显示了填充标准资料的数据。

以下是传入对象:

{ "account": 1234, "email": "john@examplecorp.com", "address": { "address1": "Street", "zip": "Zip", "city": "City" }, "firstName": "John", "lastName": "Doe" }

以下代码显示传入该对象映射到标准资料对象,并对 PersonalEmailAddressfullNameaccountId 编制索引,这是一个唯一键。

{ "Fields": { "accountId": { "Source": "_source.account", "Target": "_profile.AccountNumber", "ContentType": "NUMBER" }, "shippingAddress.address1": { "Source": "_source.address.address1", "Target": "_profile.ShippingAddress.Address1" }, "shippingAddress.postalCode": { "Source": "_source.address.zip", "Target": "_profile.ShippingAddress.PostalCode" }, "shippingAddress.city": { "Source": "_source.address.city", "Target": "_profile.ShippingAddress.City" }, "personalEmailAddress": { "Source": "_source.email", "Target": "_profile.PersonalEmailAddress", "ContentType": "EMAIL_ADDRESS" }, "fullName": { "Source": "{{_source.firstName}} {{_source.lastName}}" }, "firstName": { "Source": "_source.firstName", "Target": "_profile.FirstName" }, "lastName": { "Source": "_source.lastName", "Target": "_profile.LastName" } }, "Keys": { "_email": [ { "FieldNames": ["personalEmailAddress"] } ], "_fullName": [ { "FieldNames": ["fullName"] } ], "_account": [ { "StandardIdentifiers": ["PROFILE","UNIQUE"], "FieldNames": ["accountId"] } ] } }

请注意,已对 emailfullname 编入索引,但它们不用于搜索资料。相应账户为唯一键。需要指定对象。每当摄取具有相同账户 ID 的对象时,它都会覆盖前一个具有相同账户 ID 的对象。

标准资料对象中填充了多个字段(请参阅已定义 Target 的字段)。

未填充标准资料的对象类型映射

此示例显示了一个更复杂的使用案例。它会摄取与资料相关的数据,但不一定会填充标准资料对象。

以下是传入对象:

{ "email": "john@examplecorp.com", "timestamp": "2010-01-01T12:34:56Z", "subject": "Whatever this is about", "body": "Body of ticket" }

以下是映射此数据的一种方法:

{ "Fields": { "email": { "Source": "_source.email", "ContentType": "EMAIL_ADDRESS" }, "timestamp": { "Source": "_source.timestamp" } }, "Keys": { "_email": [ { "StandardIdentifiers": ["PROFILE","LOOKUP_ONLY"], "FieldNames": ["email"] } ], "ticketEmail": [ { "StandardIdentifiers": ["PROFILE","SECONDARY","NEW_ONLY"], "FieldNames": ["email"] } ], "uniqueTicket": [ { "StandardIdentifiers": ["UNIQUE"], "FieldNames": ["email","timestamp"] } ] } }

该示例摄取相应数据,且在首次查询时,它会摄取电子邮件地址。

  • 如果电子邮件地址与单个资料匹配,则使用该电子邮件地址将数据附加到该特定的资料。由于不存在其他唯一标识符,因此票证的唯一标识符由电子邮件和时间戳组成。

  • 如果指定的电子邮件中不存在任何资料,则会创建一个新的资料,其中填写了 EmailAddress 的单个字段。摄取的对象将附加到此新的推断资料。可以找到相应资料的两个可搜索键是 _emailuniqueTicket

  • 如果存在具有指定电子邮件地址的多个资料,则会创建一个新资料,其中填写了 EmailAddress 的单个字段,并将对象附加到此新资料。除了 _emailuniqueTicket 之外,还使用定义的 ticketEmail 键创建此资料。该电子邮件中的任何后续票证都将分配给此新的推断的资料。其原因是, _email 键引用三个资料,因此被丢弃,但 ticketEmail 键仅引用单个资料(新推断的资料)并且仍然有效。

  • 如果创建了新的推断的资料,则将用创建该资料的第一个对象填充 EmailAddress 字段。