このページでは、過去のイベントからユーザー イベントデータを一括インポートする方法について説明します。 メディアアプリでは、ユーザー イベントが必要です。メディアアプリを使用していない場合は、ユーザー イベントのインポートは必要ありません。ただし、カスタム検索アプリやレコメンデーション アプリでは、ユーザー イベントの記録が推奨されます。
インポートできるユーザー イベントのタイプについては、userEvents オブジェクトの eventType フィールドをご覧ください。ユーザー イベントをインポートすると、結果の品質を改善できます。たとえば、ユーザー イベントは検索結果のランキングに影響します。クリック率が高い結果はブーストされ、クリック率が低い結果は非表示になります。データストアにすでにインポートされているドキュメントのユーザー イベントのみをインポートします。
userEvents.Documents にあるドキュメントがイベントに含まれている場合、Vertex AI Search はイベントをそのドキュメントに自動的に結合します。結合により、Vertex AI Search は、クリックやビューなどのイベントを検索結果やレコメンデーションの正しいドキュメントに関連付けることができます。カスタム検索アプリとおすすめアプリの場合、結合は非同期で行われます。つまり、バッチ インポートの完了後にユーザー イベントがドキュメントに結合されます(通常は数分以内に完了します)。メディアアプリの場合、結合は同期的に行われます。Vertex AI Search はバッチ インポートの進行中にユーザー イベントのドキュメントへの結合を開始します。コンソールで結合されていないイベント指標を表示する方法については、集計されたユーザー イベント情報を表示するをご覧ください。
複数のデータストアが接続された検索アプリを使用している場合は、データストア レベルではなく、ロケーション レベルでユーザー イベントをインポートします。これにより、特定のユーザー イベントを関連付けられているデータストアに送信できます。データストア レベルではなくロケーション レベルで、異なる dataStores からのドキュメントを含むユーザー イベントをインポートするには、userEvents.import をご覧ください。
ユーザー イベントをリアルタイムでインポートするには、リアルタイム ユーザー イベントの記録をご覧ください。
過去のイベントは、次の方法でインポートできます。
ユーザー イベントの JSON 表現については、API リファレンスの userEvents をご覧ください。
始める前に
ユーザー イベントをインポートする前に:
- データストアとアプリを作成します。
- ユーザー イベントの要件については、メディア ユーザー イベントについてまたはユーザー イベントについてをご覧ください。
Cloud Storage から過去のユーザー イベントをインポートする
メディアアプリがある場合は、 Google Cloud コンソールまたは API を使用してユーザー イベントをインポートできます。他のアプリタイプでは、API を使用してのみインポートできます。コンソール
コンソールを使用してメディアアプリのユーザー イベントをインポートする手順は次のとおりです。
- Google Cloud コンソールで、[AI Applications] ページに移動します。 
- [アプリ] ページで、メディアアプリをクリックします。 
- [データ] ページに移動します。 - メディア レコメンデーション アプリの場合、[要件] タブには、インポートする必要があるメディア ドキュメントとユーザー イベントが表示されます。 
- [イベント] タブをクリックします。イベントをすでにインポートしている場合は、そのイベントに関する情報がこのタブに表示されます。 
- [イベントをインポート] をクリックします。 
- データソースとして [Cloud Storage] を選択します。 
- ユーザー イベントの Cloud Storage のロケーションを入力または選択します。 
- [インポート] をクリックします。 
- [アクティビティ] タブに、インポートのステータスが表示されます。 
- インポート エラーが発生した場合は、[アクティビティ] タブで次の操作を行います。 - [詳細] 列でエラーを開き、[詳細を表示] をクリックして、[アクティビティ ログの詳細] ペインで詳細情報を確認します。 
- [アクティビティ ログの詳細] ペインで、[完全なエラーログを表示] をクリックして、ログ エクスプローラでエラーを確認します。 
 
REST
Cloud Storage から過去のユーザー イベントを一括でインポートするには、次の手順を行います。
- インポートの入力パラメータのデータファイルを 1 つ以上作成します。 - gcsSourceオブジェクトを使用して、Cloud Storage バケットを指定します。- { "gcsSource": { "inputUris": ["INPUT_FILE_1", "INPUT_FILE_2"], "dataSchema": "user_event" }, "errorConfig":{ "gcsPrefix":"ERROR_DIRECTORY" } }- 次のように置き換えます。 - INPUT_FILE: ユーザー イベント データが格納されている Cloud Storage 内のファイル。各ユーザー イベントは、改行がないそれ自体の単一の行であることを確認してください。ユーザー イベントの JSON 表現については、API リファレンスの- userEventsをご覧ください。入力ファイル フィールドは- gs://<bucket>/<path-to-file>/の形式にする必要があります。
- ERROR_DIRECTORY: 省略可。インポートに関するエラー情報用の Cloud Storage ディレクトリ(例:- gs://<your-gcs-bucket>/directory/import_errors)。Vertex AI Search に一時ディレクトリを自動的に作成させるには、このフィールドを空のままにすることをおすすめします。
 
- データファイルの名前を指定して - userEvents.importメソッドに対して POST リクエストを実行し、イベントをインポートします。- curl -X POST \ -v \ -H "Content-Type: application/json; charset=utf-8" \ -H "Authorization: Bearer "$(gcloud auth print-access-token)"" \ --data @DATA_FILE.json \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/dataStores/DATA_STORE_ID/userEvents:import"- ロケーション レベルでユーザー イベントをインポートする場合は、エンドポイント - https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/userEvents:importを使用します。
BigQuery から過去のユーザー イベントをインポートする
BigQuery でユーザー イベントのテーブルを作成する場合は、ユーザー イベントについてで説明されているスキーマを使用します。
BigQuery アクセスを設定する
BigQuery データセットがデータストアとは異なるプロジェクトにある場合は、次の手順で BigQuery へのアクセスを設定します。
- Google Cloud コンソールで [IAM と管理] ページを開きます。
- ユーザー イベントをインポートするデータストアを含むプロジェクトを選択します。
- [Google 提供のロール付与を含める] チェックボックスをオンにします。
- Discovery Engine サービス アカウントという名前のサービス アカウントを探します。
- 以前に Discovery Engine でインポート オペレーションを開始していない場合、このサービス アカウントが表示されない可能性があります。このサービス アカウントが表示されない場合は、インポート タスクに戻ってインポートを開始します。権限エラーで失敗した場合は、ここに戻ってこのタスクを完了してください。Discovery Engine サービス アカウントが表示されます。
- メールアドレスのようなサービス アカウントの ID(例: service-525@gcp-sa-discoveryengine.iam.gserviceaccount.com)をコピーします。
- (同じ [IAM と管理] ページで)BigQuery プロジェクトに切り替え、[アクセスを許可] をクリックします。
- [新しいプリンシパル] で、サービス アカウントの ID を入力し、[BigQuery] > [BigQuery データ閲覧者] ロールを選択します。
- [保存] をクリックします。
BigQuery へのアクセスについて詳しくは、BigQuery ドキュメントのデータセットへのアクセスの制御をご覧ください。
BigQuery からイベントをインポートする
メディアアプリがある場合は、Google Cloud コンソールまたは API を使用してユーザー イベントをインポートできます。他のアプリタイプの場合、API を使用してのみインポートできます。コンソール
コンソールを使用してメディアアプリのユーザー イベントをインポートする手順は次のとおりです。
- Google Cloud コンソールで、[AI Applications] ページに移動します。 
- [アプリ] ページで、メディアアプリをクリックします。 
- [データ] ページに移動します。 - メディア レコメンデーション アプリの場合、[要件] タブには、インポートする必要があるメディア ドキュメントとユーザー イベントが表示されます。 
- [イベント] タブをクリックします。イベントをすでにインポートしている場合は、そのイベントに関する情報がこのタブに表示されます。 
- [イベントをインポート] をクリックします。 
- データソースとして BigQuery を選択します。 
- ユーザー イベントの BigQuery パスを入力または選択します。 
- [インポート] をクリックします。 
- [アクティビティ] タブに、インポートのステータスが表示されます。 
- インポート エラーが発生した場合は、[アクティビティ] タブで次の操作を行います。 - [詳細] 列でエラーを開き、[詳細を表示] をクリックして、[アクティビティ ログの詳細] ペインで詳細情報を確認します。 
- [アクティビティ ログの詳細] ペインで、[完全なエラーログを表示] をクリックして、ログ エクスプローラでエラーを確認します。 
 
REST
Cloud Storage から過去のユーザー イベントを一括でインポートするには、次の手順を行います。
- BigQuery プロジェクトの名前、データセット ID、テーブル ID を指定して - userEvents.importメソッドに対して POST リクエストを実行し、ユーザー イベントをインポートします。- イベントをインポートする際は、 - dataSchemaに値- user_eventを使用します。- curl \ -v \ -X POST \ -H "Content-Type: application/json; charset=utf-8" \ -H "Authorization: Bearer "$(gcloud auth print-access-token)"" \ "https://discoveryengine.googleapis.com/v1/projects/[PROJECT_NUMBER]/locations/global/dataStores/DATA_STORE_ID/userEvents:import" \ --data '{ "bigquerySource": { "projectId":"PROJECT_ID", "datasetId": "DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "user_event" } }'- ロケーション レベルでユーザー イベントをインポートする場合は、エンドポイント - https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/userEvents:importを使用します。
過去のユーザー イベントをローカル JSON データとしてインポートする
ユーザー イベントをインポートするには、userEvents.import メソッドの呼び出しにイベントのローカル JSON データを含めます。
ユーザー イベントデータを JSON ファイルに追加し、API リクエストでファイルを指定するには、次の手順を行います。
- ユーザー イベントデータを含む JSON ファイルを作成します。ユーザー イベントの JSON 表現については、API リファレンス ドキュメントの - userEventsをご覧ください。- { "inlineSource": { "userEvents": [ { USER_EVENT_1 }, { USER_EVENT_2 } ] } }
- データファイルの名前を指定して - userEvents.importメソッドに対して POST リクエストを実行し、イベントをインポートします。- curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @[JSON_FILE] \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/dataStores/DATA_STORE_ID/userEvents:import"- ロケーション レベルでユーザー イベントをインポートする場合は、エンドポイント - https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/userEvents:importを使用します。