Esegui un test utilizzando l'emulatore

Google Cloud CLI fornisce un emulatore in memoria locale per Bigtable, che puoi utilizzare per testare la tua applicazione. Poiché l'emulatore memorizza i dati solo in memoria, i dati non verranno conservati tra le esecuzioni. È pensata per aiutarti a utilizzare Bigtable per lo sviluppo e i test locali, non per i deployment di produzione.

Puoi utilizzare l'emulatore con tutte le librerie client di Cloud Bigtable.

L'emulatore non fornisce API amministrative per creare o gestire istanze e cluster. Dopo l'avvio dell'emulatore, puoi connetterti all'emulatore utilizzando qualsiasi nome di progetto e istanza per creare tabelle e leggere o scrivere dati. L'emulatore non supporta una connessione sicura.

Installa ed esegui l'emulatore

I due modi più comuni per eseguire l'emulatore sono tramite gcloud CLI e Docker. Scegli la modalità più appropriata per il flusso di lavoro di sviluppo e test delle applicazioni.

Configura l'autenticazione

In questa pagina puoi utilizzare gli esempi di gcloud CLI da uno dei seguenti ambienti di sviluppo:

  • Cloud Shell: per utilizzare un terminale online con gcloud CLI già configurato, attiva Cloud Shell.

    In fondo a questa pagina viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. L'inizializzazione della sessione può richiedere alcuni secondi.

  • shell locale: per utilizzare gcloud CLI in un ambiente di sviluppo locale, installa e initialize gcloud CLI.

Interfaccia a riga di comando gcloud

  1. Aggiorna l'installazione di gcloud CLI per ottenere le ultime funzionalità:

    gcloud components update beta
    
  2. Esegui questo comando per avviare l'emulatore:

    gcloud beta emulators bigtable start
    

    Se l'emulatore non è già installato, ti verrà chiesto di scaricare e installare il programma binario dell'emulatore.

    L'emulatore stampa l'host e il numero di porta in cui è in esecuzione.

    Per impostazione predefinita, l'emulatore sceglie localhost:8086. Per associare l'emulatore a un host e a una porta specifici, usa il flag --host-port facoltativo, sostituendo HOST e PORT:

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

    Ecco un esempio:

    gcloud beta emulators bigtable start --host-port=localhost:8086
    
  3. Digita Ctrl+C per interrompere l'emulatore.

Docker

  1. Assicurati che Docker sia installato sul sistema e disponibile nel percorso del sistema.

  2. Avvia l'emulatore:

    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
    

    Questo comando esegue l'emulatore e mappa le porte nel container alle stesse porte dell'host locale.

Puoi anche utilizzare l'emulatore come parte del file di configurazione Docker Compose (.yaml) esistente. Per ulteriori informazioni su Docker Compose, consulta la pagina Panoramica di Docker Compose.

Utilizza le librerie client con l'emulatore

Imposta la variabile di ambiente BIGTABLE_EMULATOR_HOST per utilizzare le librerie client con l'emulatore:

Linux / macOS

  export BIGTABLE_EMULATOR_HOST=localhost:8086

Windows

  set BIGTABLE_EMULATOR_HOST=localhost:8086

All'avvio dell'applicazione, la libreria client cerca automaticamente BIGTABLE_EMULATOR_HOST e si connette all'emulatore, se in esecuzione.

Dopo aver configurato BIGTABLE_EMULATOR_HOST, puoi testare l'emulatore seguendo gli esempi di hello world.

Per interrompere l'emulatore, digita Ctrl+C, quindi annulla l'impostazione di BIGTABLE_EMULATOR_HOST con il seguente comando:

    unset BIGTABLE_EMULATOR_HOST

Wrapper Java per l'emulatore

Il wrapper Java include l'emulatore Bigtable integrato e fornisce un'interfaccia Java per scrivere test.

Per ulteriori informazioni sull'utilizzo del wrapper Java, consulta il repository di GitHub.

La seguente documentazione fornisce ulteriori informazioni sui pacchetti Java dell'emulatore:

Filtri

L'emulatore supporta tutti i filtri, tranne il filtro di limitazione Sink.

I problemi relativi all'emulatore Bigtable vengono monitorati nel repository GitHub google-cloud-go, dove puoi inviare report di bug e richieste di funzionalità o commentare problemi esistenti.