本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Connect 客户档案中的对象类型映射示例
生成资料的对象类型映射
以下示例显示了填充标准资料的数据。
以下是传入对象:
{ "account": 1234, "email": "john@examplecorp.com", "address": { "address1": "Street", "zip": "Zip", "city": "City" }, "firstName": "John", "lastName": "Doe" }
以下代码显示传入该对象映射到标准资料对象,并对 PersonalEmailAddress
、fullName
和 accountId
编制索引,这是一个唯一键。
{ "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"] } ] } }
请注意,已对 email
和 fullname
编入索引,但它们不用于搜索资料。相应账户为唯一键。需要指定对象。每当摄取具有相同账户 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
的单个字段。摄取的对象将附加到此新的推断资料。可以找到相应资料的两个可搜索键是_email
和uniqueTicket
。 -
如果存在具有指定电子邮件地址的多个资料,则会创建一个新资料,其中填写了
EmailAddress
的单个字段,并将对象附加到此新资料。除了_email
和uniqueTicket
之外,还使用定义的ticketEmail
键创建此资料。该电子邮件中的任何后续票证都将分配给此新的推断的资料。其原因是,_email
键引用三个资料,因此被丢弃,但ticketEmail
键仅引用单个资料(新推断的资料)并且仍然有效。 -
如果创建了新的推断的资料,则将用创建该资料的第一个对象填充
EmailAddress
字段。