Membuat dan mengelola tampilan berparameter

Anda dapat membuat tampilan berparameter dari tampilan logis di Bigtable, lalu melakukan operasi pada tampilan berparameter.

Sebelum membaca halaman ini, pahami Ringkasan tampilan berparameter.

Sebelum memulai

Jika Anda berencana menggunakan Google Cloud CLI, ikuti langkah-langkah berikut:

  1. Instal Google Cloud CLI.

  2. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  3. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat dan mengelola tampilan berparameter, minta administrator untuk memberi Anda peran Admin Bigtable (roles/bigtable.admin) di instance.

Atau, Anda dapat meminta izin berikut di tingkat instance:

  • Buat: bigtable.logicalViews.create
  • Update: bigtable.logicalViews.update
  • Hapus: bigtable.logicalViews.delete
  • Daftar: bigtable.logicalViews.list

Untuk membuat tampilan berparameter, Anda juga harus memiliki setidaknya izin bigtable.tables.readRows pada tabel sumber.

Membuat tampilan berparameter

Tampilan berparameter adalah tabel virtual yang ditentukan oleh pernyataan SQL SELECT yang dapat menyertakan fungsi VIEW_PARAMETERS().

Konsol

  1. Di konsol Google Cloud , buka daftar instance Bigtable.

    Buka daftar instance

  2. Dari daftar, pilih instance.

  3. Di panel navigasi, klik Bigtable Studio.

  4. Buka tab baru dengan mengklik Menu tab baru, lalu pilih Editor.

  5. Di editor kueri, tulis kueri SQL Anda. Definisi kueri harus memanggil fungsi VIEW_PARAMETERS() untuk menentukan satu atau beberapa parameter tampilan. Contoh:

    SELECT *
    FROM TABLE_ID
    WHERE STARTS_WITH(_key, CAST(VIEW_PARAMETERS('PARAM_NAME') AS BYTES))
    

    Ganti kode berikut:

    • TABLE_ID: ID tabel sumber.
    • PARAM_NAME: nama parameter tampilan, yang diapit dalam tanda petik tunggal, untuk diteruskan sebagai argumen ke fungsi VIEW_PARAMETERS(). Ini menentukan nama parameter, bukan nilai runtime-nya. Anda memberikan nilai runtime saat membuat kueri tampilan yang diparameterkan.

    Jika kueri adalah SQL yang valid, pesan Valid akan muncul.

  6. Opsional: Untuk memformat pernyataan Anda dalam gaya SQL, klik Format.

  7. Klik Simpan, lalu pilih Simpan sebagai tampilan logis.

  8. Dalam dialog Simpan tampilan logis Anda, masukkan nama untuk tampilan, lalu klik Simpan.

    Tampilan akan muncul di panel Explorer, dalam daftar Logical Views, dengan ikon tampilan berparameter variable_add.

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan editor kueri, lihat Mengelola data menggunakan Bigtable Studio.

gcloud

Untuk membuat tampilan berparameter, gunakan perintah gcloud bigtable logical-views create.

gcloud bigtable logical-views create VIEW \
  --instance=INSTANCE \
  --query="SELECT * FROM TABLE_ID WHERE STARTS_WITH(_key, CAST(VIEW_PARAMETERS('PARAM_NAME') AS BYTES))"

Ganti kode berikut:

  • VIEW: ID dengan panjang maksimal 128 karakter untuk tampilan berparameter baru. ID harus unik di antara ID tabel dan ID tampilan dalam instance.
  • INSTANCE: ID instance tempat tampilan berparameter akan dibuat.
  • TABLE_ID: ID tabel sumber.
  • PARAM_NAME: nama parameter tampilan, yang diapit dalam tanda petik tunggal, untuk diteruskan sebagai argumen ke fungsi VIEW_PARAMETERS(). Hal ini menentukan nama parameter, bukan nilai runtime-nya. Anda memberikan nilai runtime saat membuat kueri tampilan yang diparameterkan.

Opsional:

  • Untuk melindungi tampilan berparameter dari penghapusan, tambahkan perintah dengan flag --deletion-protection. Jika Anda tidak menerapkan setelan ini, tampilan dapat dihapus. Anda juga dapat mengizinkan penghapusan tampilan secara eksplisit dengan menambahkan --no-deletion-protection. Untuk mengetahui informasi selengkapnya, lihat bagian Memperbarui tampilan berparameter dalam dokumen ini.

Membuat tampilan berparameter dengan kunci baris terstruktur

Jika tabel Anda menggunakan kunci baris terstruktur, Anda dapat memfilter segmen tertentu dari kunci baris. Untuk mengetahui informasi selengkapnya, lihat Mengelola skema kunci baris.

Misalnya, jika row key dalam tabel histori pembelian menyimpan pengguna, stempel waktu tanggal pembelian, dan ID pesanan, yang dibatasi oleh simbol #, Anda dapat menentukan skema baris sebagai berikut:

field {
    field_name: "user_id"
    type: { bytesType { encoding { raw {} } } }
  }
  field {
    field_name: "reversed_timestamp"
    type: { timestampType { encoding { unixMicrosInt64 { encoding: {           orderedCodeBytes: {} } } } } }
  }
  field {
    field_name: "order_id"
    type: { stringType { encoding { utf8Bytes {} } } }
  }
  encoding {
    delimitedBytes { delimiter "#" }
  }

Kemudian, Anda dapat membuat tampilan yang memfilter kolom ID pengguna:

Konsol

  1. Di Bigtable Studio, buka editor kueri dan masukkan kueri SQL yang memfilter segmen row key:

    SELECT *
    FROM TABLE_ID
    WHERE user_id = CAST(VIEW_PARAMETERS('user_id') AS BYTES)
    

    Ganti TABLE_ID dengan ID tabel sumber.

  2. Klik Simpan, lalu pilih Simpan sebagai tampilan logis.

  3. Dalam dialog Simpan tampilan logis Anda, masukkan nama untuk tampilan, lalu klik Simpan.

    Tampilan akan muncul di panel Explorer, dalam daftar Logical Views, dengan ikon tampilan yang diparameterkan variable_add.

gcloud

Untuk membuat tampilan berparameter dengan kunci baris terstruktur, gunakan perintah gcloud bigtable logical-views create.

gcloud bigtable logical-views create VIEW \
    --instance=INSTANCE \
    --query="SELECT * FROM TABLE_ID WHERE user_id = CAST(VIEW_PARAMETERS('user_id') AS BYTES)"

Ganti kode berikut:

  • VIEW: ID hingga 128 karakter untuk tampilan berparameter baru. ID harus unik di antara ID tabel dan ID tampilan dalam instance.
  • INSTANCE: ID instance tempat tampilan berparameter akan dibuat.
  • TABLE_ID: ID tabel sumber.

Memperbarui tampilan berparameter

Anda memperbarui tampilan berparameter dengan cara yang sama seperti memperbarui tampilan logis.

Menghapus tampilan berparameter

Anda menghapus tampilan berparameter dengan cara yang sama seperti Anda menghapus tampilan logis.

Melihat informasi tentang tampilan yang diberi parameter

Anda dapat melihat daftar tampilan berparameter dengan cara yang sama seperti melihat daftar tampilan logis untuk instance.

Konsol

  1. Di konsol Google Cloud , buka daftar instance Bigtable.

    Buka daftar instance

  2. Dari daftar, pilih instance.

  3. Di panel navigasi, klik Bigtable Studio.

  4. Di panel Explorer, luaskan Logical Views.

    Tampilan berparameter muncul dalam daftar dengan ikon tampilan berparameter variable_add yang membedakannya dari tampilan logis standar.

  5. Jika instance memiliki lebih dari 10 tampilan, klik Tampilkan lebih banyak untuk memuat 10 tampilan berikutnya.

gcloud

Untuk melihat daftar tampilan logis untuk instance, gunakan perintah gcloud bigtable logical-views list.

gcloud bigtable logical-views list --instance=INSTANCE

Ganti INSTANCE dengan ID instance.

Mengueri tampilan berparameter

Anda membuat kueri tampilan berparameter dengan cara yang sama seperti tabel reguler, tetapi Anda memberikan peta view_parameters dalam permintaan.

Konsol

  1. Di konsol Google Cloud , buka daftar instance Bigtable.

    Buka daftar instance

  2. Dari daftar, pilih instance.

  3. Di panel navigasi, klik Bigtable Studio.

  4. Di panel Explorer, luaskan Logical Views.

  5. Di samping tampilan berparameter yang ingin Anda kueri, klik menu more_vert Tindakan tampilan, lalu klik Kueri tampilan.

    Panel Parameter akan terbuka dengan nama parameter tampilan yang telah diisi otomatis.

  6. Di Lihat parameter, masukkan nilai runtime untuk setiap parameter yang diperlukan di kolom Nilai.

    Nilai parameter diteruskan sebagai string. Jika parameter dalam definisi tampilan Anda dikonversi ke jenis lain (seperti bilangan bulat atau byte), masukkan nilai string mentah.

  7. Opsional: Untuk menambahkan lebih banyak parameter, klik Tambahkan parameter, lalu masukkan nama dan nilai parameter. Nama parameter harus unik dalam parameter tampilan.

  8. Klik Simpan.

  9. Di editor kueri, klik Run.

    Hasil kueri Anda akan muncul di tabel Results.

    Jika Anda menjalankan kueri tanpa memberikan parameter tampilan yang diperlukan, pesan error akan muncul di bagian hasil dengan tombol Edit parameter. Klik Edit parameter untuk membuka panel Parameter dan masukkan nilai parameter yang belum ada.

Nilai parameter dikonfigurasi untuk setiap tab editor kueri. Jika Anda keluar dari Bigtable Studio selama sesi dan kembali, tab, kueri, hasil, dan parameter yang dikonfigurasi akan tetap ada.

Java

Contoh berikut menunjukkan cara membuat kueri tampilan berparameter bernama purchase_history_pv, yang memfilter data berdasarkan ID pengguna:

// Assumes 'purchase_history_pv' was created with the definition:
// SELECT * FROM purchases WHERE user_id = CAST(VIEW_PARAMETERS('user_id') AS BYTES)

String query = "SELECT customer_info[email], order_details[status], order_info[items] from purchase_history_pv";
PreparedStatement preparedStatement = dataClient.prepareStatement(query);
BoundStatement boundStatement = preparedStatement.bind().build();

// The user ID is now passed out-of-band in a view parameters map.
Map<String, Value> viewParameters = new HashMap<>();
viewParameters.put("user_id", Value.newBuilder().setType(stringType()).setStringValue(userId).build());

// Execute the query, passing the view parameters using a proto field in the request.
ResultSet rs = dataClient.executeQuery(
    boundStatement,
    viewParameters
);

Hal ini mencegah pengguna dapat melihat atau memanipulasi parameter user_id dalam kueri itu sendiri, sehingga memberikan pemisahan logis yang bersih.

Langkah berikutnya