Eseguire il 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 archivia i dati solo in memoria, non li mantiene tra le esecuzioni. È pensato 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 di amministrazione per creare o gestire istanze e cluster. Dopo l'avvio dell'emulatore, puoi connetterti 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 l'interfaccia a riga di comando gcloud e Docker. Scegli il metodo più adatto per lo sviluppo e il flusso di lavoro di test dell'applicazione.

Configura l'autenticazione

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

Interfaccia a riga di comando gcloud

  1. Aggiorna l'installazione di gcloud CLI per ottenere le funzionalità più recenti:

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

    gcloud beta emulators bigtable start
    

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

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

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

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

    Di seguito è riportato un esempio:

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

Docker

  1. Assicurati che Docker sia installato sul sistema e disponibile nel percorso di 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 del contenitore alle stesse porte sull'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 Panoramica di Docker Compose.

Utilizzare 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 automaticamenteBIGTABLE_EMULATOR_HOST e si connette all'emulatore se è in esecuzione.

Una volta impostato BIGTABLE_EMULATOR_HOST, puoi testare l'emulatore seguendo i sample di Hello World.

Per arrestare l'emulatore, digita Ctrl-C, quindi reimposta BIGTABLE_EMULATOR_HOST con il seguente comando:

    unset BIGTABLE_EMULATOR_HOST

Wrapper Java per l'emulatore

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

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

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

Filtri

L'emulatore supporta tutti i filtri, ad eccezione del filtro limitante Sink.

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