Anda dapat menggunakan Terraform untuk membuat penyimpanan data Gemini Enterprise umum 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 Google Cloud project Anda.
Pastikan Anda memiliki peran Admin IAM Project (
roles/resourcemanager.projectIamAdmin) untuk Google Cloud project Anda, serta peran Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) role.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.
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
google_discovery_engine_data_store
resource Terraform.
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: ID proyek Google Cloud AndaBILLING_PROJECT_ID: ID project penagihan Anda Google CloudLOCATION: lokasi untuk penyimpanan data, sepertiusatauglobal(untuk mengetahui informasi selengkapnya, lihat Residensi data dan komitmen pemrosesan regional ML untuk Gemini Enterprise Standard dan Plus Editions)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 memasukkan data ke penyimpanan data menggunakan Google Cloud perintah konsol atau API.
Membuat konektor data
Untuk menggunakan Terraform guna membuat konektor data untuk layanan yang didukung, gunakan
google_discovery_engine_data_connector
resource Terraform. 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: ID proyek Google Cloud AndaBILLING_PROJECT_ID: ID project penagihan Anda Google CloudLOCAL_NAME: nama lokal resource TerraformLOCATION: lokasi untuk penyimpanan data, sepertiusatauglobal(untuk mengetahui informasi selengkapnya, lihat Residensi data dan komitmen pemrosesan regional ML untuk Gemini Enterprise Standard dan Plus Editions)COLLECTION_ID: ID koleksiCOLLECTION_DISPLAY_NAME: nama tampilan koleksiDATA_SOURCE: jenis sumber data. Nilai berikut didukung:bigqueryconfluencejirasalesforcesharepoint_federated_search
CLIENT_ID: ID klien 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 oleh 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 mengetahui informasi selengkapnya, lihat Menghubungkan penyimpanan data ke aplikasi dan mengotorisasi Gemini Enterprise.
Mengupdate konektor data
Untuk menggunakan Terraform guna mengupdate setelan untuk 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 wajib yang tidak perlu diupdate ke ignore_changes di blok lifecycle.
Buat konfigurasi Terraform. Contoh ini mengupdate setelan
structured_search_filterdengan nilai filter baru, tetapi mencantumkan kolom wajib 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: ID proyek Google Cloud AndaBILLING_PROJECT_ID: ID project penagihan Anda Google CloudLOCAL_NAME: nama lokal resource TerraformLOCATION: lokasi untuk penyimpanan data, sepertiusatauglobal(untuk mengetahui informasi selengkapnya, lihat Residensi data dan komitmen pemrosesan regional ML untuk Gemini Enterprise Standard dan Plus Editions)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 update (misalnya,Path)UPDATED_FILTER_VALUE: nilai filter baru (misalnya,https://other.sharepoint.com/*)REFRESH_INTERVAL: interval refreshENTITY_NAME: nama entity yang akan ditelusuri oleh 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 output terakhir 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 membuat kueri data Anda, buat aplikasi di Gemini Enterprise dan hubungkan ke penyimpanan data Anda.
Untuk mengelola daftar tindakan untuk konektor data, lihat Mengelola tindakan.