Menguji menggunakan emulator

Google Cloud CLI menyediakan emulator lokal dalam memori untuk Bigtable, yang dapat digunakan untuk menguji aplikasi Anda. Karena emulator hanya menyimpan data dalam memori, emulator tidak akan mempertahankan data di seluruh operasi. Fitur ini dimaksudkan untuk membantu Anda menggunakan Bigtable untuk pengembangan dan pengujian lokal, bukan untuk deployment produksi.

Anda dapat menggunakan emulator dengan semua library klien Cloud Bigtable.

Emulator tidak menyediakan API administratif untuk membuat atau mengelola instance dan cluster. Setelah emulator dimulai, Anda dapat menghubungkannya menggunakan nama project dan instance apa pun untuk membuat tabel dan membaca atau menulis data. Emulator tidak mendukung koneksi yang aman.

Menginstal dan menjalankan emulator

Dua cara yang paling umum untuk menjalankan emulator adalah dengan menggunakan gcloud CLI dan Docker. Pilih cara yang sesuai untuk alur kerja pengujian dan pengembangan aplikasi Anda.

Menyiapkan autentikasi

Di konsol Google Cloud, aktifkan Cloud Shell.

Aktifkan Cloud Shell

Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

gcloud CLI

  1. Update penginstalan gcloud CLI untuk mendapatkan fitur terbaru:

    gcloud components update beta
    
  2. Jalankan perintah berikut untuk memulai emulator:

    gcloud beta emulators bigtable start
    

    Jika emulator belum diinstal, Anda akan diminta untuk mendownload dan menginstal biner untuk emulator.

    Emulator mencetak host dan nomor port tempatnya berjalan.

    Secara default, emulator memilih localhost:8086. Untuk mengikat emulator ke host dan port tertentu, gunakan tanda --host-port opsional, yang menggantikan HOST dan PORT:

    gcloud beta emulators bigtable start --host-port=HOST:PORT
    

    Berikut adalah contohnya:

    gcloud beta emulators bigtable start --host-port=localhost:8086
    
  3. Ketik Control-C untuk menghentikan emulator.

Docker

  1. Pastikan Docker diinstal di sistem dan tersedia di jalur sistem.

  2. Mulai emulator:

    docker run -p 127.0.0.1:8086:8086 --rm -ti google/cloud-sdk gcloud beta emulators bigtable start --host-port=0.0.0.0:8086
    

    Perintah ini menjalankan emulator dan memetakan port dalam container ke port yang sama pada host lokal Anda.

Anda juga dapat menggunakan emulator sebagai bagian dari file konfigurasi Docker Compose (.yaml) yang sudah ada. Untuk informasi selengkapnya tentang Docker Compose, lihat Ringkasan Docker Compose.

Menggunakan library klien dengan emulator

Setel variabel lingkungan BIGTABLE_EMULATOR_HOST untuk menggunakan library klien dengan emulator:

Linux / Mac

  export BIGTABLE_EMULATOR_HOST=localhost:8086

Windows

  set BIGTABLE_EMULATOR_HOST=localhost:8086

Saat aplikasi Anda dimulai, library klien akan otomatis memeriksa BIGTABLE_EMULATOR_HOST dan terhubung ke emulator jika sedang berjalan.

Setelah BIGTABLE_EMULATOR_HOST ditetapkan, Anda dapat menguji emulator dengan mengikuti contoh hello world.

Untuk menghentikan emulator, ketik Control-C, lalu batalkan penetapan BIGTABLE_EMULATOR_HOST dengan perintah berikut:

    unset BIGTABLE_EMULATOR_HOST

Wrapper Java untuk emulator

Wrapper Java memaketkan emulator Bigtable bawaan dan menyediakan antarmuka Java untuk menulis pengujian.

Untuk mengetahui informasi selengkapnya tentang penggunaan wrapper Java, lihat repositori GitHub.

Dokumentasi berikut memberikan informasi selengkapnya tentang paket Java emulator:

Filter

Emulator mendukung semua filter, kecuali filter pembatasan Sink.

Masalah yang terkait dengan emulator Bigtable dilacak di repositori GitHub google-cloud-go, tempat Anda dapat mengajukan laporan bug dan permintaan fitur atau mengomentari masalah yang ada.