Terraform を使用して、汎用 Gemini Enterprise データストアを作成したり、Atlassian Confluence、Atlassian Jira、BigQuery、Microsoft SharePoint、Salesforce のデータコネクタを設定したりできます。
始める前に
Terraform を使用してデータストアを作成する前に、次の操作を行います。
プロジェクトに対する Google Cloud プロジェクト IAM 管理者 (
roles/resourcemanager.projectIamAdmin)ロールと、Gemini Enterprise 管理者(roles/discoveryengine.agentspaceAdmin) ロールが付与されていることを確認します。省略可: Microsoft SharePoint などのサードパーティのデータソースを Gemini Enterprise に接続する場合は、データソースのアクセス認証情報(API キーやデータベース認証など)を取得します。
hashicorp/google Terraform プロバイダのバージョン 7.7.0 以降を使用していることを確認します。
terraform { required_providers { google = { source = "hashicorp/google" version = "7.7.0" } } }
汎用データストアを作成する
Terraform を使用して空のデータストアを作成するには、
google_discovery_engine_data_store
Terraform リソースを使用します。
Terraform 構成を作成します。
terraform { required_providers { google = { source = "hashicorp/google" version = "7.7.0" } } } provider "google" { project = "PROJECT_ID" user_project_override = true billing_project = "BILLING_PROJECT_ID" } resource "google_discovery_engine_data_store" "gemini_search_store" { location = "LOCATION" data_store_id = "DATA_STORE_ID" display_name = "DATA_STORE_NAME" industry_vertical = "GENERIC" content_config = "NO_CONTENT" solution_types = ["SOLUTION_TYPE_SEARCH"] create_advanced_site_search = false }次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト IDBILLING_PROJECT_ID: 実際の Google Cloud 課金プロジェクト IDLOCATION: データストアのロケーション(usやglobalなど)。詳細 については、 Gemini Enterprise Standard エディションと Plus エディションのデータの所在地と ML のリージョン処理のコミットメントをご覧ください。DATA_STORE_ID: データストア IDDATA_STORE_NAME: データストア名
Terraform を初期化します。
terraform init -upgrade構成をプレビューします。
terraform plan構成を適用します。
terraform apply
空のデータストアを作成したら、データストアにデータを取り込むことができます using the Google Cloud コンソールまたは API コマンド。
データコネクタを作成する
Terraform を使用してサポートされているサービスのデータコネクタを作成するには、
google_discovery_engine_data_connector
Terraform リソースを使用します。json_params に、サービスの認証情報と検索フィルタ構成を含めます。
Terraform 構成を作成します。
terraform { required_providers { google = { source = "hashicorp/google" version = "7.7.0" } } } provider "google" { project = "PROJECT_ID" user_project_override = true billing_project = "BILLING_PROJECT_ID" } resource "google_discovery_engine_data_connector" "LOCAL_NAME" { provider = google project = "PROJECT_ID" location = "LOCATION" collection_id = "COLLECTION_ID" collection_display_name = "COLLECTION_DISPLAY_NAME" data_source = "DATA_SOURCE" json_params = jsonencode({ "client_id" = "CLIENT_ID" "client_secret" = "CLIENT_SECRET" "instance_uri" = "INSTANCE_URI" "tenant_id" = "TENANT_ID" "structured_search_filter" = { "FILTER_KEY" = ["FILTER_VALUE"] } }) refresh_interval = "7200s" connector_modes = [CONNECTOR_MODES] entities { entity_name = "ENTITY_NAME" } }次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト IDBILLING_PROJECT_ID: 実際の Google Cloud 課金プロジェクト IDLOCAL_NAME: Terraform リソースのローカル名LOCATION: データストアのロケーション(usやglobalなど)。詳細については、 Gemini Enterprise Standard エディションと Plus エディションのデータの所在地と ML のリージョン処理のコミットメントをご覧ください。COLLECTION_ID: コレクション IDCOLLECTION_DISPLAY_NAME: コレクションの表示名DATA_SOURCE: データソースのタイプ。次の値を使用できます。bigqueryconfluencejirasalesforcesharepoint_federated_search
CLIENT_ID: サービスのクライアント IDCLIENT_SECRET: サービスのクライアント シークレットINSTANCE_URI: インスタンスの URI(例:https://your-tenant.sharepoint.com)TENANT_ID: テナント IDFILTER_KEY: フィルタキー(例:Path)FILTER_VALUE: フィルタ値(例:"https://example.sharepoint.com/*")CONNECTOR_MODES: コネクタで有効にするモード (例:"FEDERATED")
Terraform を初期化します。
terraform init -upgrade構成をプレビューします。
terraform plan構成を適用します。
terraform applyプロンプトが表示されたら、変更を確認します。
構成を適用すると、 データストアのリストにデータコネクタが表示され、Gemini Enterprise アプリに接続できます。詳細については、 データストアをアプリに接続して Gemini Enterprise を承認するをご覧ください。
データコネクタを更新する
Terraform を使用して既存のデータコネクタの設定を更新するには、json_params に新しい設定を指定し、変更されていない引数を現在の値とともに指定して、Terraform がリソースを置き換えないようにします。更新する必要のない必須引数を lifecycle ブロックの ignore_changes に追加します。
Terraform 構成を作成します。この例では、
structured_search_filter設定を新しいフィルタ値で更新しますが、refresh_interval、entities、connector_modesなどの他の必須フィールドを現在の値とともに一覧表示します。terraform { required_providers { google = { source = "hashicorp/google" version = "7.7.0" } } } provider "google" { project = "PROJECT_ID" user_project_override = true billing_project = "BILLING_PROJECT_ID" } resource "google_discovery_engine_data_connector" "LOCAL_NAME" { provider = google project = "PROJECT_ID" location = "LOCATION" collection_id = "COLLECTION_ID" collection_display_name = "COLLECTION_DISPLAY_NAME" data_source = "DATA_SOURCE" json_params = jsonencode({ "structured_search_filter" = { "FILTER_KEY" = ["UPDATED_FILTER_VALUE"] } }) refresh_interval = "REFRESH_INTERVAL" entities { entity_name = "ENTITY_NAME" key_property_mappings = {} } static_ip_enabled = false connector_modes = [CONNECTOR_MODES] lifecycle { ignore_changes = [ collection_display_name, entities, refresh_interval ] } }次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト IDBILLING_PROJECT_ID: 実際の Google Cloud 課金プロジェクト IDLOCAL_NAME: Terraform リソースのローカル名LOCATION: データストアのロケーション(usやglobalなど)。詳細については、 Gemini Enterprise Standard エディションと Plus エディションのデータの所在地と ML のリージョン処理のコミットメントをご覧ください。COLLECTION_ID: コレクション IDCOLLECTION_DISPLAY_NAME: コレクションの表示名DATA_SOURCE: データソースのタイプ。次の値を使用できます。bigqueryconfluencejirasalesforcesharepoint_federated_search
FILTER_KEY: 値を更新するフィルタキー(例:Path)UPDATED_FILTER_VALUE: 新しいフィルタ値(例:https://other.sharepoint.com/*)REFRESH_INTERVAL: 更新間隔ENTITY_NAME: コネクタが検索するエンティティの名前( リソースのドキュメントを参照)CONNECTOR_MODES: コネクタで有効にするモード (例:"FEDERATED")
terraform importを実行して、これが更新オペレーションであることを示します。terraform import \ google_discovery_engine_data_connector.LOCAL_NAME \ projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataConnector構成をプレビューします。
terraform plan出力例を以下に示します。
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: google_discovery_engine_data_connector.update-sharepoint-connector will be updated in-place ~ resource "google_discovery_engine_data_connector" "update-sharepoint-connector" { id = "projects/my-project-123/locations/global/collections/default_collection/dataConnector" ~ json_params = jsonencode( ~ { ~ structured_search_filter = { ~ "Path" = [ ~ "https://other.sharepoint.com/*" - "https://example.sharepoint.com/*", (1 unchanged element hidden) ] } } ) name = "projects/my-project-123/locations/global/collections/default_collection/dataConnector" (21 unchanged attributes hidden) (2 unchanged blocks hidden) } Plan: 0 to add, 1 to change, 0 to destroy.出力の最後の行に
0 to add, 1 to change, 0 to destroyが指定されていることを確認します。構成を適用します。
terraform applyプロンプトが表示されたら、変更を確認します。
出力例を以下に示します。
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
次のステップ
データをクエリするためのユーザー インターフェースを提供するため、 Gemini Enterprise でアプリを作成し、 データストアに接続します。
データコネクタのアクションのリストを管理するには、 アクションの管理をご覧ください。