Cómo realizar pruebas con el emulador

Google Cloud CLI proporciona un emulador local en la memoria para Bigtable, que puedes usar a fin de probar tu aplicación. No se conservarán los datos de las ejecuciones, dado que el emulador almacena datos solamente en la memoria. Está diseñado con el objetivo de ayudarte a usar Bigtable en el desarrollo y las pruebas locales, y no para las implementaciones de producción.

Puedes usar el emulador con todas las bibliotecas cliente de Cloud Bigtable.

El emulador no proporciona API administrativas para administrar o crear instancias y clústeres. Una vez que se inicia el emulador, puedes conectarte a él con cualquier proyecto y nombre de instancia para crear tablas, y leer o escribir datos. El emulador no admite una conexión segura.

Instala y ejecuta el emulador

Las dos formas más comunes de ejecutar el emulador son con gcloud CLI y Docker. Elige la forma adecuada para el desarrollo de tu aplicación y el flujo de trabajo de prueba.

Configura la autenticación

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.

gcloud CLI

  1. Actualiza tu instalación de gcloud CLI para obtener las funciones más recientes:

    gcloud components update beta
    
  2. Ejecuta el siguiente comando para iniciar el emulador

    gcloud beta emulators bigtable start
    

    Si el emulador aún no está instalado, se te solicitará que realices la descarga y la instalación del objeto binario para el emulador.

    El emulador imprime el host y el número de puerto donde se esté ejecutando.

    De forma predeterminada, el emulador elige localhost:8086. Para vincular el emulador a un host y puerto específicos, usa la marca opcional --host-port, que reemplaza a HOST y PORT:

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

    A continuación, se muestra un ejemplo:

    gcloud beta emulators bigtable start --host-port=localhost:8086
    
  3. Escribe Control-C para detener el emulador.

Docker

  1. Asegúrate de que Docker esté instalado en tu sistema y esté disponible en la ruta del sistema.

  2. Inicia el emulador:

    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
    

    Este comando ejecuta el emulador y asigna los puertos del contenedor a los mismos puertos de tu host local.

También puedes usar el emulador como parte de tu archivo de configuración existente de Docker Compose (.yaml). Para obtener más información sobre Docker Compose, consulta Descripción general de Docker Compose.

Usa las bibliotecas cliente con el emulador

Configura la variable de entorno BIGTABLE_EMULATOR_HOST para usar las bibliotecas cliente con el emulador:

Linux/macOS

  export BIGTABLE_EMULATOR_HOST=localhost:8086

Windows

  set BIGTABLE_EMULATOR_HOST=localhost:8086

Cuando se inicia la aplicación, la biblioteca cliente busca BIGTABLE_EMULATOR_HOST automáticamente y se conecta al emulador si se está ejecutando.

Una vez que se configure BIGTABLE_EMULATOR_HOST, puedes probar el emulador siguiendo los ejemplos de Hello World.

Para detener el emulador, escribe Control-C y, luego, deja BIGTABLE_EMULATOR_HOST sin configurar con el siguiente comando:

    unset BIGTABLE_EMULATOR_HOST

Wrapper de Java para el emulador

El wrapper de Java agrupa el emulador de Bigtable integrado y proporciona una interfaz de Java para escribir pruebas.

Para obtener más información sobre el uso del wrapper de Java, consulta el repositorio de GitHub.

En la siguiente documentación, se proporciona más información sobre los paquetes de Java del emulador:

Filtros

El emulador admite todos los filtros, excepto el filtro de limitación Sink.

Se hace un seguimiento de los problemas relacionados con el emulador de Bigtable en el repositorio de GitHub google-cloud-go. Puedes usarlo para presentar informes de errores y solicitudes de funciones o comentar problemas existentes.