Hacer pruebas con el emulador
La CLI de Google Cloud proporciona un emulador local en memoria para Bigtable, que puedes usar para probar tu aplicación. Como el emulador solo almacena datos en la memoria, no conservará los datos entre ejecuciones. Su objetivo es ayudarte a usar Bigtable para el desarrollo y las pruebas locales, no para los despliegues de producción.
Puedes usar el emulador con todas las bibliotecas de cliente de Cloud Bigtable.
El emulador no proporciona APIs de administración para crear o gestionar instancias y clústeres. Una vez que se haya iniciado el emulador, podrás conectarte a él con cualquier nombre de proyecto y de instancia para crear tablas y leer o escribir datos. El emulador no admite una conexión segura.
Instalar y ejecutar el emulador
Las dos formas más habituales de ejecutar el emulador son mediante la CLI de gcloud y Docker. Elige el método que mejor se adapte al desarrollo de tu aplicación y al flujo de trabajo de pruebas.
Configurar la autenticación
In the Google Cloud console, 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.
CLI de gcloud
Actualiza tu 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 pedirá que descargues e instales el archivo binario del emulador.
El emulador muestra el host y el número de puerto en los que 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
y sustituye 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 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
).
Para obtener más información sobre Docker Compose, consulta el artículo Descripción general de Docker Compose.
Usar las bibliotecas de cliente con el emulador
Define la variable de entorno BIGTABLE_EMULATOR_HOST
para usar las bibliotecas de cliente con el emulador:
Linux o macOS
export BIGTABLE_EMULATOR_HOST=localhost:8086
Windows
set BIGTABLE_EMULATOR_HOST=localhost:8086
Cuando se inicia tu aplicación, la biblioteca de cliente comprueba automáticamente si el emulador está en ejecución y se conecta a él.BIGTABLE_EMULATOR_HOST
Una vez que hayas configurado BIGTABLE_EMULATOR_HOST
, puedes probar el emulador siguiendo los ejemplos de Hello World.
Para detener el emulador, escribe Control-C y, a continuación, anula la variable BIGTABLE_EMULATOR_HOST
con el siguiente comando:
unset BIGTABLE_EMULATOR_HOST
Wrapper de Java para el emulador
El envoltorio de Java incluye el emulador 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 Java del emulador:
Filtros
El emulador admite todos los filtros, excepto el filtro de limitación Sink
.
Los problemas relacionados con el emulador de Bigtable se registran en el repositorio de GitHub google-cloud-go, donde puedes notificar errores y enviar solicitudes de funciones, así como comentar problemas ya registrados.