Untuk menyerap data dari Bigtable, gunakan langkah-langkah berikut untuk membuat penyimpanan data dan menyerap data menggunakan API.
Menyiapkan akses Bigtable
Untuk memberi Gemini Enterprise akses ke data Bigtable yang ada di project lain, ikuti langkah-langkah berikut:
Ganti variabel
PROJECT_NUMBERberikut dengan nomor project Gemini Enterprise Anda, lalu salin konten blok kode ini. Berikut adalah ID akun layanan Gemini Enterprise Anda:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`Buka halaman IAM & Admin.
Beralihlah ke project Bigtable Anda di halaman IAM & Admin, lalu klik Grant Access.
Untuk New principals, masukkan ID akun layanan instance dan pilih peran Bigtable > Bigtable Reader.
Klik Simpan.
Beralih kembali ke project Gemini Enterprise Anda.
Selanjutnya, buka Mengimpor data dari Bigtable.
Mengimpor data dari Bigtable
REST
Untuk menggunakan command line guna membuat penyimpanan data dan menyerap data dari Bigtable, ikuti langkah-langkah berikut:
Membuat penyimpanan data.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'Ganti kode berikut:
PROJECT_ID: ID project Anda.DATA_STORE_ID: ID penyimpanan data. ID hanya boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.DISPLAY_NAME: nama tampilan penyimpanan data. Hal ini mungkin ditampilkan di konsol Google Cloud .
Mengimpor data dari Bigtable.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'Ganti kode berikut:
PROJECT_ID: ID project Gemini Enterprise Anda.DATA_STORE_ID: ID penyimpanan data. ID hanya boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.BIGTABLE_PROJECT_ID: ID project Bigtable Anda.INSTANCE_ID: ID instance Bigtable Anda.TABLE_ID: ID tabel Bigtable Anda.KEY_FIELD_NAME: opsional, tetapi direkomendasikan. Nama kolom yang akan digunakan untuk nilai row key setelah penyerapan ke Gemini Enterprise.KEY: required. Nilai string untuk kunci grup kolom.ENCODING: optional. Mode encoding nilai jika jenisnya bukan STRING.Mode ini dapat diganti untuk kolom tertentu dengan mencantumkan kolom tersebut dicolumnsdan menentukan encoding untuk kolom tersebut.COLUMN_TYPE: optional. Jenis nilai dalam grup kolom ini.QUALIFIER: required. Penentu kolom.FIELD_NAME: opsional, tetapi direkomendasikan. Nama kolom yang akan digunakan untuk kolom ini setelah diserap ke Gemini Enterprise.COLUMN_ENCODING: optional. Mode encoding nilai untuk kolom tertentu jika jenisnya bukan STRING.RECONCILIATION_MODE: optional. Nilainya adalahFULLdanINCREMENTAL. Default-nya adalahINCREMENTAL. MenentukanINCREMENTALakan menyebabkan pemuatan ulang data secara inkremental dari Bigtable ke penyimpanan data Anda. Tindakan ini akan melakukan operasi upsert, yang menambahkan dokumen baru dan mengganti dokumen yang ada dengan dokumen yang diperbarui dengan ID yang sama. MenentukanFULLakan menyebabkan rebase penuh dokumen di penyimpanan data Anda. Dengan kata lain, dokumen baru dan yang diperbarui akan ditambahkan ke penyimpanan data Anda, dan dokumen yang tidak ada di Bigtable akan dihapus dari penyimpanan data Anda. ModeFULLberguna jika Anda ingin otomatis menghapus dokumen yang tidak lagi diperlukan.AUTO_GENERATE_IDS: optional. Menentukan apakah akan membuat ID dokumen secara otomatis. Jika ditetapkan ketrue, ID dokumen dibuat berdasarkan hash payload. Perhatikan bahwa ID dokumen yang dihasilkan mungkin tidak tetap konsisten di beberapa impor. Jika Anda membuat ID secara otomatis di beberapa impor, Google sangat merekomendasikan untuk menetapkanreconciliationModekeFULLguna mempertahankan ID dokumen yang konsisten.Tentukan
autoGenerateIdshanya jikabigquerySource.dataSchemaditetapkan kecustom. Jika tidak, errorINVALID_ARGUMENTakan ditampilkan. Jika Anda tidak menentukanautoGenerateIdsatau menetapkannya kefalse, Anda harus menentukanidField. Jika tidak, dokumen akan gagal diimpor.ID_FIELD: optional. Menentukan kolom mana yang merupakan ID dokumen.
Langkah berikutnya
Untuk melampirkan penyimpanan data ke aplikasi, buat aplikasi dan pilih penyimpanan data Anda dengan mengikuti langkah-langkah di Membuat aplikasi penelusuran.
Untuk melihat pratinjau tampilan hasil penelusuran setelah aplikasi dan penyimpanan data Anda disiapkan, lihat Melihat pratinjau hasil penelusuran.