AlloyDB for PostgreSQL からインポートする

AlloyDB for PostgreSQL からデータを取り込むには、次の手順で Google Cloud コンソールまたは API を使用してデータストアを作成し、データを取り込みます。

AlloyDB for PostgreSQL データが Gemini Enterprise プロジェクトと同じプロジェクトにある場合は、AlloyDB for PostgreSQL からデータをインポートするをご覧ください。

AlloyDB for PostgreSQL データが Gemini Enterprise プロジェクトとは異なるプロジェクトにある場合は、AlloyDB for PostgreSQL アクセスを設定するをご覧ください。

別のプロジェクトから AlloyDB for PostgreSQL へのアクセスを設定する

別のプロジェクトにある AlloyDB for PostgreSQL データに Gemini Enterprise がアクセスできるようにするには、次の操作を行います。

  1. 次の PROJECT_NUMBER 変数を Gemini Enterprise プロジェクト番号に置き換えてから、このコードブロックの内容をコピーします。これは Gemini Enterprise サービス アカウントの識別子です。

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
    
  2. AlloyDB for PostgreSQL データが存在する Google Cloud プロジェクトに切り替えます。

  3. IAM ページに移動します。

    IAM

  4. [アクセス権を付与] をクリックします。

  5. [新しいプリンシパル] で、Gemini Enterprise サービス アカウント ID を入力し、[Cloud AlloyDB] > [Cloud AlloyDB 管理者] ロールを選択します。

  6. [保存] をクリックします。

  7. Gemini Enterprise プロジェクトに戻ります。

次に、AlloyDB for PostgreSQL からデータをインポートするに進みます。

AlloyDB for PostgreSQL からデータをインポートする

Console

コンソールを使用して AlloyDB for PostgreSQL からデータを取り込む手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. ナビゲーション メニューで [データストア] をクリックします。

  3. [データストアを作成] をクリックします。

  4. [データソースを選択] ページで、[AlloyDB] を選択します。

  5. インポートするデータのプロジェクト ID、ロケーション ID、クラスタ ID、データベース ID、テーブル ID を指定します。

  6. [続行] をクリックします。

  7. データストアのリージョンを選択します。

  8. データストアの名前を入力します。

  9. [作成] をクリックします。

  10. 取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。

    取り込みには、データのサイズに応じて、数分から数時間かかることがあります。

REST

コマンドラインを使用してデータストアを作成し、AlloyDB for PostgreSQL からデータを取り込む手順は次のとおりです。

  1. データストアを作成します。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
    }'
    

    次のように置き換えます。

    • PROJECT_ID: 実際のプロジェクトの ID。
    • DATA_STORE_ID: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。
    • DISPLAY_NAME: データストアの表示名。これは Google Cloud コンソールに表示されることがあります。
  2. AlloyDB for PostgreSQL からデータをインポートします。

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "alloyDbSource": {
          "projectId": "ALLOYDB_PROJECT_ID",
          "locationId": "LOCATION_ID",
          "clusterId": "CLUSTER_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    次のように置き換えます。

    • PROJECT_ID: Gemini Enterprise プロジェクトの ID。
    • DATA_STORE_ID: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。
    • ALLOYDB_PROJECT_ID: AlloyDB for PostgreSQL プロジェクトの ID。
    • LOCATION_ID: AlloyDB for PostgreSQL ロケーションの ID。
    • CLUSTER_ID: AlloyDB for PostgreSQL クラスタの ID。
    • DATABASE_ID: AlloyDB for PostgreSQL データベースの ID。
    • TABLE_ID: AlloyDB for PostgreSQL テーブルの ID。
    • RECONCILIATION_MODE: 省略可。値は FULL、および INCREMENTAL です。デフォルトは INCREMENTAL です。INCREMENTAL を指定すると、AlloyDB for PostgreSQL からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、AlloyDB for PostgreSQL にないドキュメントがデータストアから削除されます。FULL モードは、不要になったドキュメントを自動的に削除する場合に便利です。
    • AUTO_GENERATE_IDS: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true に設定すると、ペイロードのハッシュに基づいてドキュメント ID が生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationModeFULL に設定することを強くおすすめします。
    • ID_FIELD: 省略可。ドキュメント ID のフィールドを指定します。

次のステップ

  • データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。

  • アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果をプレビューするをご覧ください。