オブジェクトタイプマッピングの例 - Amazon Connect

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

オブジェクトタイプマッピングの例

プロファイルを生成するオブジェクトタイプマッピング

次の例は、標準プロファイルに入力するデータを示しています。

以下は、入力オブジェクトです。

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

次のコードは、入力オブジェクトの標準プロファイルオブジェクトへのマッピングと PersonalEmailAddressfullName、および 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"] } ] } }

なお、emailfullname はインデックス付けされますが、プロファイルの検索には使用されません。アカウントは一意のキーです。オブジェクトを指定する必要があります。同じアカウント ID を持つオブジェクトが取り込まれるたびに、同じアカウント ID の以前のオブジェクトは上書きされます。

標準プロファイルオブジェクトには、複数のフィールドが入力されます (Target を定義したフィールドを参照してください)。

標準プロファイルに入力されないオブジェクトタイプマッピング

この例は、より複雑なユースケースを示しています。プロファイルに関連するデータを取り込みますが、必ずしも標準プロファイルオブジェクトに入力されるとは限りません。

以下は、入力オブジェクトです。

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

次に、このデータをマッピングする方法の 1 つを示します。

{ "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"] } ] } }

この例では、データを取り込み、最初の検索時に E メールアドレスを取り込みます。

  • E メールアドレスが単一のプロファイルに一致する場合、その E メールアドレスはその特定のプロファイルにデータをアタッチするために使用されます。チケットの一意の識別子は、E メールとタイムスタンプで構成されます。これは、他の一意の識別子は存在しないためです。

  • 指定された E メールでプロファイルが存在しない場合、EmailAddress のフィールドだけが設定されている新しいプロファイルが作成されます。取り込まれたオブジェクトは、この新しい推定プロファイルに添付されます。プロファイルを見つけることができる 2 つの検索可能なキーは _emailuniqueTicket です。

  • 指定された電子メールアドレスで複数のプロファイルが存在する場合、EmailAddress フィールドだけが設定された新しいプロファイルが作成され、オブジェクトはこの新しいプロファイルに添付されます。このプロファイルは、_email および uniqueTicket に加えて、ticketEmail キーが定義されて作成されます。その E メールからその後に送られるチケットは、この新しい推定プロファイルに割り当てられます。その理由は、 _email キーが 3 つのプロファイルを参照しているため、破棄されますが、ticketEmail キーは単一のプロファイル (新しい推定プロファイル) のみを参照しているので、引き続き有効だからです。

  • 新しい推定プロファイルが作成された場合、EmailAddress フィールドには、そのプロファイルを作成した最初のオブジェクトから入力されます。