Mengimpor dari Bigtable

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:

  1. Ganti variabel PROJECT_NUMBER berikut 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`
    
  2. Buka halaman IAM & Admin.

    IAM & Admin

  3. Beralihlah ke project Bigtable Anda di halaman IAM & Admin, lalu klik Grant Access.

  4. Untuk New principals, masukkan ID akun layanan instance dan pilih peran Bigtable > Bigtable Reader.

  5. Klik Simpan.

  6. 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:

  1. 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 .
  2. 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 di columns dan 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 adalah FULL dan INCREMENTAL. Default-nya adalah INCREMENTAL. Menentukan INCREMENTAL akan 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. Menentukan FULL akan 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. Mode FULL berguna jika Anda ingin otomatis menghapus dokumen yang tidak lagi diperlukan.
    • AUTO_GENERATE_IDS: optional. Menentukan apakah akan membuat ID dokumen secara otomatis. Jika ditetapkan ke true, 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 menetapkan reconciliationMode ke FULL guna mempertahankan ID dokumen yang konsisten.

      Tentukan autoGenerateIds hanya jika bigquerySource.dataSchema ditetapkan ke custom. Jika tidak, error INVALID_ARGUMENT akan ditampilkan. Jika Anda tidak menentukan autoGenerateIds atau menetapkannya ke false, Anda harus menentukan idField. Jika tidak, dokumen akan gagal diimpor.

    • ID_FIELD: optional. Menentukan kolom mana yang merupakan ID dokumen.

Langkah berikutnya