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. Como el emulador almacena datos solo en la memoria, no conservará datos entre ejecuciones. 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.
Cómo instalar y ejecutar el emulador
Las dos formas más comunes de ejecutar el emulador son mediante la gcloud CLI y Docker. Elige la forma adecuada para el flujo de trabajo de desarrollo y prueba de tu aplicación.
Configura la autenticación
Puedes usar las muestras de gcloud CLI en esta página desde cualquiera de los siguientes entornos de desarrollo:
-
Cloud Shell: Para usar una terminal en línea con la CLI de gcloud ya configurada, activa Cloud Shell.
En la parte inferior de esta página, se inicia una sesión de Cloud Shell y se muestra una ventana de línea de comandos. La sesión puede tardar unos segundos en inicializarse.
-
Shell local: Para usar la CLI de gcloud en un entorno de desarrollo local, instala e inicializa la CLI de gcloud.
gcloud CLI
Actualiza la instalación de gcloud CLI para obtener las funciones más recientes:
gcloud components update beta
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 un puerto específicos, usa la marca opcional--host-port
, en la que se reemplazan 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
Escribe Control-C para detener el emulador.
Docker
Asegúrate de que Docker esté instalado en tu sistema y esté disponible en la ruta del sistema.
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 de Docker Compose (.yaml
) existente.
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
, podrás probar el emulador siguiendo las muestras de Hello World.
Para detener el emulador, escribe Control-C y, luego, desactiva BIGTABLE_EMULATOR_HOST
con el siguiente comando:
unset BIGTABLE_EMULATOR_HOST
Wrapper de Java para el emulador
El wrapper de Java empaqueta el emulador integrado de Bigtable y proporciona una interfaz de Java para escribir pruebas.
Para obtener más información sobre cómo usar el 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 límite 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.