Amazon Connect Customer Profilesで、手動で追加したユーザーを別の属性で検索する方法
はじめに
以前、Amazon Connect Customer Profiles でAmazon S3 バケットからインポートしたユーザーに対して、デフォルトの検索項目にない「LastName」属性を検索条件に追加し、エージェントワークスペースで検索する方法を紹介しました。
S3 バケットからインポートしたユーザーについては、検索条件に「LastName」を指定すると正常に検索結果に表示されます。
ところが、エージェントワークスペース上で手動で追加したユーザーは、同じ「LastName」で検索しても結果に表示されません。
今回は、手動で追加したユーザーをカスタム検索属性で検索できるようにする方法をご紹介します。
結論
手動で追加したユーザーをカスタム検索属性で検索するには、put-profile-object
APIを使用してプロファイルオブジェクトとして登録する必要があります。
以下のコマンドで特定のプロファイルに検索可能な LastName を追加できます。
$ aws customer-profiles put-profile-object \
--object-type "オブジェクトタイプ" \
--object '{"一意の識別子":"xxx","LastName": "名前"}' \
--domain-name "ドメイン名"
各パラメータは以下のとおりです。
--domain-name
:Customer Profilesのドメイン名--object-type
:データソースであるS3とのマッピングに使用された「AutoMap-S3-cmhiraicustomerprofiles-samplecsv」を指定一意の識別子
:一意の識別子 or 顧客識別子
一意の識別子については、わかりにくいため次の章で説明します。
一意の識別子の確認方法
データソースS3バケットからデータマッピングした「AutoMap-S3-cmhiraicustomerprofiles-samplecsv」から、一意の識別子(Unique identifier, The UNIQUE key)または顧客識別子(Customer identifier, PROFILE key)の値を指定します。
一意の識別子: データ取り込み時にエラーを回避するために、データには一意の識別子が必要です。この識別子は、一意のキーとも呼ばれます。Customer Profiles は、これを使用して、このデータを他のデータソースオブジェクトと区別し、検索やデータ更新用のインデックスを作成します。
一意の識別子は 1 つだけです。
顧客識別子: データ取り込み時にエラーを回避するために、データには少なくても 1 つの顧客識別子が必要です。この識別子はプロファイルキーとも呼ばれます。
Customer Profiles では、この識別子を使用してデータケースが既存のプロファイルに関連付けられるか、他のプロファイルを検索して新しいプロファイルを作成するのに使用されるかを判断するために使用します。
複数の顧客識別子を持つことができます。
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/create-object-type-mapping.html
属性プロパティを確認すると、CustomerId(アカウント番号)が一意のキーおよび顧客識別子(プロファイルキー)であることが確認できました。
手動で追加したユーザーの一意のキーやプロファイルキーであるアカウント番号を確認します。
試してみる
現在の状態では、検索条件を LastName にしても該当するユーザーが検索結果に表示されません。
それでは、先ほど確認したドメイン名、アカウント番号、LastName、オブジェクトタイプを指定してコマンドを実行します。
$ aws customer-profiles put-profile-object \
--object-type "AutoMap-S3-cmhiraicustomerprofiles-samplecsv" \
--object '{"CustomerId":"123456","LastName": "山田"}' \
--domain-name "cm-hirai-test"
{
"ProfileObjectUniqueKey": "jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI="
}
コマンド実行後、再度 LastName で検索すると、手動で追加したユーザーが検索結果に表示されるようになりました!