Anda dapat menggunakan Terraform untuk membuat penyimpanan data Gemini Enterprise generik atau menyiapkan konektor data untuk Atlassian Confluence, Atlassian Jira, BigQuery, Microsoft SharePoint, atau Salesforce.
Sebelum memulai
Sebelum menggunakan Terraform untuk membuat penyimpanan data, lakukan hal berikut:
Periksa apakah penagihan diaktifkan di project Google Cloud Anda.
Pastikan Anda memiliki peran Project IAM Admin (
roles/resourcemanager.projectIamAdmin) untuk project Google Cloud Anda, serta peran Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin).Opsional: Jika Anda menghubungkan sumber data pihak ketiga seperti Microsoft SharePoint ke Gemini Enterprise, dapatkan kredensial akses (seperti kunci API atau autentikasi database) untuk sumber data tersebut.
Pastikan Anda menggunakan penyedia Terraform hashicorp/google versi 7.7.0 atau yang lebih baru:
terraform { required_providers { google = { source = "hashicorp/google" version = "7.7.0" } } }
Membuat penyimpanan data umum
Untuk menggunakan Terraform guna membuat penyimpanan data kosong, gunakan resource Terraform google_discovery_engine_data_store.
Buat konfigurasi 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 }Ganti kode berikut:
PROJECT_ID: Project ID Google Cloud AndaBILLING_PROJECT_ID: Project ID Google Cloud penagihan AndaLOCATION: lokasi untuk penyimpanan data, sepertiusatauglobal(untuk mengetahui informasi selengkapnya, lihat Komitmen residensi data dan pemrosesan regional ML Gemini Enterprise Edisi Standard dan Plus)DATA_STORE_ID: ID penyimpanan dataDATA_STORE_NAME: nama penyimpanan data
Lakukan inisialisasi Terraform:
terraform init -upgradeLihat pratinjau konfigurasi Anda:
terraform planTerapkan konfigurasi:
terraform apply
Setelah membuat penyimpanan data kosong, Anda dapat menyerap data ke dalam penyimpanan data menggunakan konsol Google Cloud atau perintah API.
Membuat konektor data
Untuk menggunakan Terraform guna membuat konektor data untuk layanan yang didukung, gunakan resource Terraform google_discovery_engine_data_connector. Sertakan kredensial untuk layanan, serta konfigurasi filter penelusuran, di json_params.
Buat konfigurasi 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" } }Ganti kode berikut:
PROJECT_ID: Project ID Google Cloud AndaBILLING_PROJECT_ID: Project ID Google Cloud penagihan AndaLOCAL_NAME: nama lokal resource TerraformLOCATION: lokasi untuk penyimpanan data, sepertiusatauglobal(untuk mengetahui informasi selengkapnya, lihat Komitmen residensi data dan pemrosesan regional ML Gemini Enterprise Edisi Standard dan Plus)COLLECTION_ID: ID koleksiCOLLECTION_DISPLAY_NAME: nama tampilan koleksiDATA_SOURCE: jenis sumber data. Nilai berikut didukung:bigqueryconfluencejirasalesforcesharepoint_federated_search
CLIENT_ID: client ID untuk layananCLIENT_SECRET: rahasia klien untuk layananINSTANCE_URI: URI instance Anda (misalnya,https://your-tenant.sharepoint.com)TENANT_ID: ID tenantFILTER_KEY: kunci filter (misalnya,Path)FILTER_VALUE: nilai filter (misalnya,"https://example.sharepoint.com/*")ENTITY_NAME: nama entity yang akan ditelusuri konektor (lihat dokumentasi resource)CONNECTOR_MODES: mode yang akan diaktifkan untuk konektor (misalnya,"FEDERATED")
Lakukan inisialisasi Terraform:
terraform init -upgradeLihat pratinjau konfigurasi Anda:
terraform planTerapkan konfigurasi:
terraform applySaat diminta, konfirmasi perubahan Anda.
Setelah menerapkan konfigurasi, Anda dapat melihat konektor data dalam daftar penyimpanan data dan dapat menghubungkannya ke aplikasi Gemini Enterprise. Untuk informasi selengkapnya, lihat Menghubungkan penyimpanan data ke aplikasi dan memberikan otorisasi kepada Gemini Enterprise.
Memperbarui konektor data
Untuk menggunakan Terraform guna memperbarui setelan konektor data yang ada, berikan
setelan baru di json_params, dan berikan argumen yang tidak berubah dengan
nilai saat ini agar Terraform tidak mengganti resource. Tambahkan argumen yang diperlukan
yang tidak perlu diupdate ke ignore_changes di blok
lifecycle.
Buat konfigurasi Terraform. Contoh ini memperbarui setelan
structured_search_filterdengan nilai filter baru, tetapi mencantumkan kolom wajib diisi lainnya sepertirefresh_interval,entities, danconnector_modesdengan nilai saat ini.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 ] } }Ganti kode berikut:
PROJECT_ID: Project ID Google Cloud AndaBILLING_PROJECT_ID: Project ID Google Cloud penagihan AndaLOCAL_NAME: nama lokal resource TerraformLOCATION: lokasi untuk penyimpanan data, sepertiusatauglobal(untuk mengetahui informasi selengkapnya, lihat Komitmen residensi data dan pemrosesan regional ML Gemini Enterprise Edisi Standard dan Plus)COLLECTION_ID: ID koleksiCOLLECTION_DISPLAY_NAME: nama tampilan koleksiDATA_SOURCE: jenis sumber data. Nilai berikut didukung:bigqueryconfluencejirasalesforcesharepoint_federated_search
FILTER_KEY: kunci filter yang nilainya ingin Anda perbarui (misalnya,Path)UPDATED_FILTER_VALUE: nilai filter baru (misalnya,https://other.sharepoint.com/*)REFRESH_INTERVAL: interval refreshENTITY_NAME: nama entity yang akan ditelusuri konektor (lihat dokumentasi resource)CONNECTOR_MODES: mode yang akan diaktifkan untuk konektor (misalnya,"FEDERATED")
Jalankan
terraform importuntuk menunjukkan bahwa ini adalah operasi update:terraform import \ google_discovery_engine_data_connector.LOCAL_NAME \ projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataConnectorLihat pratinjau konfigurasi Anda:
terraform planOutputnya akan mirip dengan berikut ini:
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.Pastikan baris terakhir output menentukan
0 to add, 1 to change, 0 to destroy.Terapkan konfigurasi:
terraform applySaat diminta, konfirmasi perubahan Anda.
Outputnya akan mirip dengan berikut ini:
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
Langkah berikutnya
Untuk menyediakan antarmuka pengguna untuk mengkueri data Anda, buat aplikasi di Gemini Enterprise dan hubungkan ke penyimpanan data Anda.
Untuk mengelola daftar tindakan untuk konektor data, lihat Mengelola tindakan.