기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Connect Customer Profiles의 객체 유형 매핑 예제
프로필을 생성하는 객체 유형 매핑
다음 예제는 표준 프로필을 채우는 데이터를 보여 줍니다.
수신 객체는 다음과 같습니다.
{ "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
필드가 채워집니다.