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 manterrà nelle esecuzioni successive. È pensato per aiutarti a utilizzare Bigtable per lo sviluppo locale per i deployment, 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 le 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 utilizzando il comando gcloud CLI e Docker. Scegli il modo più appropriato per lo sviluppo delle tue applicazioni e flusso di lavoro di test.

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 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 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 per l'host e la porta specifici, usa 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 nel container le stesse porte sull'host locale.

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

Utilizza le librerie client con l'emulatore

Imposta la variabile di ambiente BIGTABLE_EMULATOR_HOST in modo che utilizzi 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 verifica automaticamente la presenza di BIGTABLE_EMULATOR_HOST e si connette all'emulatore, se è in esecuzione.

Dopo aver impostato BIGTABLE_EMULATOR_HOST, puoi testare l'emulatore seguendo le istruzioni riportate in esempi di Hello World.

Per arrestare l'emulatore, digita Ctrl+C, quindi annulla la configurazione di 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 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.