Datenspeicher mit Terraform erstellen

Mit Terraform können Sie einen generischen Gemini Enterprise-Datenspeicher erstellen oder Daten-Connectors für Atlassian Confluence, Atlassian Jira, BigQuery, Microsoft SharePoint oder Salesforce einrichten.

Hinweis

Bevor Sie mit Terraform einen Datenspeicher erstellen, gehen Sie so vor:

  • Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.

  • Sie benötigen die Rolle „Projekt-IAM-Administrator“ (roles/resourcemanager.projectIamAdmin) für Ihr Google Cloud Projekt, sowie die Rolle „Gemini Enterprise-Administrator“ (roles/discoveryengine.agentspaceAdmin) .

  • Optional: Wenn Sie eine Drittanbieter-Datenquelle wie Microsoft SharePoint mit Gemini Enterprise verbinden, rufen Sie Zugriffsanmeldedaten (z. B. API-Schlüssel oder Datenbankauthentifizierung) für die Datenquelle ab.

  • Sie müssen Version 7.7.0 oder höher des Terraform-Anbieters hashicorp/google verwenden:

    terraform {
      required_providers {
        google = {
          source  = "hashicorp/google"
          version = "7.7.0"
        }
      }
    }
    

Generischen Datenspeicher erstellen

Verwenden Sie die google_discovery_engine_data_store Terraform-Ressource, um mit Terraform einen leeren Datenspeicher zu erstellen.

  1. Erstellen Sie die Terraform-Konfiguration:

    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
    }
    

    Ersetzen Sie Folgendes:

  2. Initialisieren Sie Terraform:

    terraform init -upgrade
    
  3. Vorschau der Konfiguration ansehen:

    terraform plan
    
  4. Wenden Sie die Konfiguration an:

    terraform apply
    

Nachdem Sie den leeren Datenspeicher erstellt haben, können Sie Daten in den Datenspeicher aufnehmen Verwenden Sie dazu die Google Cloud Console oder API-Befehle.

Daten-Connector erstellen

Verwenden Sie die google_discovery_engine_data_connector Terraform-Ressource, um mit Terraform einen Daten-Connector für einen unterstützten Dienst zu erstellen. Fügen Sie in json_params Anmeldedaten für den Dienst sowie eine Konfiguration für Suchfilter ein.

  1. Erstellen Sie die Terraform-Konfiguration:

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

    Ersetzen Sie Folgendes:

  2. Initialisieren Sie Terraform:

    terraform init -upgrade
    
  3. Vorschau der Konfiguration ansehen:

    terraform plan
    
  4. Wenden Sie die Konfiguration an:

    terraform apply
    

    Bestätigen Sie die Änderungen, wenn Sie dazu aufgefordert werden.

Nachdem Sie die Konfiguration angewendet haben, wird der Daten-Connector in der Liste der Datenspeicher angezeigt und kann mit einer Gemini Enterprise-App verbunden werden. Weitere Informationen finden Sie unter Datenspeicher mit einer App verbinden und Gemini Enterprise autorisieren.

Daten-Connector aktualisieren

Wenn Sie mit Terraform die Einstellungen für einen vorhandenen Daten-Connector aktualisieren möchten, geben Sie die neuen Einstellungen in json_params an. Geben Sie alle unveränderten Argumente mit ihren aktuellen Werten an, damit Terraform die Ressource nicht ersetzt. Fügen Sie alle erforderlichen Argumente, die nicht aktualisiert werden müssen, im Block lifecycle zu ignore_changes hinzu.

  1. Erstellen Sie die Terraform-Konfiguration. In diesem Beispiel wird die Einstellung structured_search_filter mit einem neuen Filterwert aktualisiert. Andere erforderliche Felder wie refresh_interval, entities und connector_modes werden jedoch mit ihren aktuellen Werten aufgeführt.

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

    Ersetzen Sie Folgendes:

  2. Führen Sie terraform import aus, um anzugeben, dass es sich um einen Aktualisierungsvorgang handelt:

    terraform import \
    google_discovery_engine_data_connector.LOCAL_NAME \
    projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataConnector
    
  3. Vorschau der Konfiguration ansehen:

    terraform plan
    

    Die Ausgabe sollte in etwa so aussehen:

    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.
    

    Die letzte Ausgabezeile muss 0 to add, 1 to change, 0 to destroy enthalten.

  4. Wenden Sie die Konfiguration an:

    terraform apply
    

    Bestätigen Sie die Änderungen, wenn Sie dazu aufgefordert werden.

    Die Ausgabe sollte in etwa so aussehen:

    Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
    

Nächste Schritte