Amazon Connect Customer Profiles의 객체 유형 매핑 예제 - Amazon Connect

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Connect Customer Profiles의 객체 유형 매핑 예제

프로필을 생성하는 객체 유형 매핑

다음 예제는 표준 프로필을 채우는 데이터를 보여 줍니다.

수신 객체는 다음과 같습니다.

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

다음 코드는 수신 객체를 표준 프로필 객체에 매핑하고 고유한 키인 PersonalEmailAddress, fullNameaccountId를 인덱싱하는 것을 보여 줍니다.

{ "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 필드가 채워집니다.