Sie können mit Terraform 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, müssen Sie Folgendes tun:
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.
Sie benötigen für Ihr Google Cloud -Projekt die Rolle „Projekt-IAM-Administrator“ (
roles/resourcemanager.projectIamAdmin) sowie die Rolle „Gemini Enterprise Admin“ (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
Wenn Sie mit Terraform einen leeren Datenspeicher erstellen möchten, verwenden Sie die Terraform-Ressource google_discovery_engine_data_store.
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:
PROJECT_ID: Ihre Projekt-ID in Google CloudBILLING_PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: der Standort für den Datenspeicher, z. B.usoderglobal(weitere Informationen finden Sie unter Zusicherungen für den Datenstandort und die regionale ML-Verarbeitung in den Gemini Enterprise Standard- und Plus-Versionen)DATA_STORE_ID: die Datenspeicher-IDDATA_STORE_NAME: der Name des Datenspeichers
Initialisieren Sie Terraform:
terraform init -upgradeSehen Sie sich eine Vorschau Ihrer Konfiguration an:
terraform planWenden 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
Wenn Sie mit Terraform einen Daten-Connector für einen unterstützten Dienst erstellen möchten, verwenden Sie die Terraform-Ressource google_discovery_engine_data_connector. Geben Sie in json_params die Anmeldedaten für den Dienst sowie die Konfiguration des Suchfilters an.
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:
PROJECT_ID: Ihre Projekt-ID in Google CloudBILLING_PROJECT_ID: Ihre Google Cloud Projekt-IDLOCAL_NAME: der lokale Name der Terraform-RessourceLOCATION: der Standort für den Datenspeicher, z. B.usoderglobal(weitere Informationen finden Sie unter Zusicherungen für den Datenstandort und die regionale ML-Verarbeitung in den Gemini Enterprise Standard- und Plus-Versionen)COLLECTION_ID: die Sammlungs-IDCOLLECTION_DISPLAY_NAME: der Anzeigename der SammlungDATA_SOURCE: der Datenquellentyp. Folgende Werte werden unterstützt:bigqueryconfluencejirasalesforcesharepoint_federated_search
CLIENT_ID: die Client-ID für den DienstCLIENT_SECRET: der Clientschlüssel für den DienstINSTANCE_URI: der URI Ihrer Instanz (z. B.https://your-tenant.sharepoint.com)TENANT_ID: die Mandanten-IDFILTER_KEY: ein Filterschlüssel (z. B.Path)FILTER_VALUE: ein Filterwert (z. B."https://example.sharepoint.com/*")ENTITY_NAME: der Name einer Entität, nach der der Connector suchen soll (siehe Ressourcendokumentation)CONNECTOR_MODES: die Modi, die für den Connector aktiviert werden sollen (z. B."FEDERATED")
Initialisieren Sie Terraform:
terraform init -upgradeSehen Sie sich eine Vorschau Ihrer Konfiguration an:
terraform planWenden Sie die Konfiguration an:
terraform applyBestä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 Sie können ihn mit einer Gemini Enterprise-App verbinden. Weitere Informationen finden Sie unter Datenspeicher mit App verbinden und Gemini Enterprise autorisieren.
Daten-Connector aktualisieren
Wenn Sie die Einstellungen für einen vorhandenen Daten-Connector mit Terraform aktualisieren möchten, geben Sie die neuen Einstellungen in json_params an. Geben Sie außerdem alle unveränderten Argumente mit ihren aktuellen Werten an, damit Terraform die Ressource nicht ersetzt. Fügen Sie im Block lifecycle alle erforderlichen Argumente hinzu, die nicht auf ignore_changes aktualisiert werden müssen.
Erstellen Sie die Terraform-Konfiguration. In diesem Beispiel wird die Einstellung
structured_search_filtermit einem neuen Filterwert aktualisiert. Andere erforderliche Felder wierefresh_interval,entitiesundconnector_modeswerden 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:
PROJECT_ID: Ihre Projekt-ID in Google CloudBILLING_PROJECT_ID: Ihre Google Cloud Projekt-IDLOCAL_NAME: der lokale Name der Terraform-RessourceLOCATION: der Standort für den Datenspeicher, z. B.usoderglobal(weitere Informationen finden Sie unter Zusicherungen für den Datenstandort und die regionale ML-Verarbeitung für Gemini Enterprise Standard und Plus-Versionen)COLLECTION_ID: die Sammlungs-IDCOLLECTION_DISPLAY_NAME: der Anzeigename der SammlungDATA_SOURCE: der Datenquellentyp. Folgende Werte werden unterstützt:bigqueryconfluencejirasalesforcesharepoint_federated_search
FILTER_KEY: ein Filterschlüssel, für den Sie den Wert aktualisieren möchten (z. B.Path)UPDATED_FILTER_VALUE: der neue Filterwert (z. B.https://other.sharepoint.com/*)REFRESH_INTERVAL: das AktualisierungsintervallENTITY_NAME: der Name einer Entität, nach der der Connector suchen soll (siehe Ressourcendokumentation)CONNECTOR_MODES: die Modi, die für den Connector aktiviert werden sollen (z. B."FEDERATED")
Führen Sie
terraform importaus, 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/dataConnectorSehen Sie sich eine Vorschau Ihrer Konfiguration an:
terraform planDie 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.In der letzten Zeile der Ausgabe muss
0 to add, 1 to change, 0 to destroyangegeben sein.Wenden Sie die Konfiguration an:
terraform applyBestä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
Wenn Sie eine Benutzeroberfläche für das Abfragen Ihrer Daten bereitstellen möchten, erstellen Sie eine Anwendung in Gemini Enterprise und verbinden Sie sie mit Ihrem Datenspeicher.
Informationen zum Verwalten der Liste der Aktionen für einen Daten-Connector finden Sie unter Aktionen verwalten.