Ejecuta el emulador de Cloud Datastore

El emulador de Cloud Datastore proporciona una emulación local del entorno de producción de Cloud Datastore. Puedes usar el emulador para desarrollar y probar tus aplicaciones de forma local. Además, el emulador puede ayudarte a generar índices para tu instancia de producción de Cloud Firestore en modo Datastore y borrar índices innecesarios. En esta página, se te explicará cómo instalar el emulador, cómo iniciarlo y cómo configurar variables de entorno para que se pueda conectar con tus aplicaciones.

Antes de comenzar

Para usar el emulador de Cloud Datastore, necesitas lo siguiente:

Instala el emulador

El emulador de Cloud Datastore es un componente de la herramienta gcloud del SDK de Google Cloud. Usa el comando gcloud components install para instalar el emulador de Cloud Datastore:

gcloud components install cloud-datastore-emulator

Directorios de datos del emulador

El emulador simula Cloud Datastore mediante la creación de /WEB-INF/appengine-generated/local_db.bin en un directorio de datos especificado y el almacenamiento de datos en local_db.bin. De forma predeterminada, el emulador usa el directorio de datos ~/.config/gcloud/emulators/datastore/. El archivo local_db.bin persiste entre las sesiones del emulador. Puedes configurar varios directorios de datos y considerar a cada uno como una instancia independiente y local en modo Datastore. Para borrar el contenido de un archivo local_db.bin, detén el emulador y borra el archivo de forma manual.

Inicia el emulador

Para iniciar el emulador ejecuta datastore start desde el símbolo del sistema:

gcloud beta emulators datastore start [flags]

en el que [flags] son argumentos opcionales de la línea de comandos suministrados a la herramienta de gcloud. Por ejemplo:

  • --data-dir=[DATA_DIR] cambia el directorio de datos del emulador. El emulador crea el archivo /WEB-INF/appengine-generated/local_db.bin dentro de [DATA_DIR] o, si está disponible, usa un archivo existente.

  • --no-store-on-disk configura el emulador a fin de que no conserve ningún dato en el disco para la sesión del emulador.

Consulta la referencia de gcloud beta emulators datastore start para ver la lista completa de marcas opcionales.

Después de iniciar el emulador, deberías ver un mensaje similar a este:

...
[datastore] Dev App Server is now running.

Para detener el emulador, escribe Control-C en el símbolo del sistema.

Configura variables de entorno

Después de iniciar el emulador, debes establecer variables de entorno para que tu aplicación se conecte a él en lugar de a la base de datos de producción en modo Datastore. Configura estas variables de entorno en la misma máquina que usaste para ejecutar tu aplicación.

Es necesario que configures las variables del entorno cada vez que inicias el emulador. Las variables de entorno dependen de los números de puerto asignados de forma dinámica, que pueden cambiar cuando reinicias el emulador.

Configura las variables de forma automática

Si tu aplicación y el emulador se ejecutan en la misma máquina, puedes configurar las variables de entorno de forma automática:

Linux/macOS

Ejecuta env-init con la sustitución de comandos:

$(gcloud beta emulators datastore env-init)

Windows

Crea y ejecuta un archivo por lotes con el resultado de env-init:

gcloud beta emulators datastore env-init > set_vars.cmd && set_vars.cmd

Ahora tu aplicación se conectará al emulador de Cloud Datastore.

Configura las variables de forma manual

Si tu aplicación y el emulador se ejecutan en máquinas diferentes, configura las variables de entorno de forma manual:

  1. Ejecuta el comando env-init:

    gcloud beta emulators datastore env-init
  2. En la máquina que ejecuta tu aplicación, configura las variables de entorno y los valores según lo que indica el resultado del comando env-init. Por ejemplo:

    Linux/macOS
    export DATASTORE_EMULATOR_HOST=localhost:8432
    export DATASTORE_PROJECT_ID=my-project-id
    Windows
    set DATASTORE_EMULATOR_HOST=localhost:8432
    set DATASTORE_PROJECT_ID=my-project-id

Ahora tu aplicación se conectará al emulador de Cloud Datastore.

Actualiza y borra índices

Cuando ejecutas tu aplicación con el emulador, puedes generar índices para tu base de datos de producción en modo Datastore, además de borrar índices innecesarios. Obtén más información en la sección sobre cómo usar la herramienta de gcloud.

Quita variables de entorno

Cuando termines de usar el emulador, detenlo (Control-C) y quita las variables de entorno para que tu aplicación se conecte a tu base de datos de producción en modo Datastore.

Quita las variables de forma automática

Si tu aplicación y el emulador se ejecutan en la misma máquina, puedes quitar las variables de entorno de forma automática:

Linux/macOS

Ejecuta env-unset con la sustitución de comandos:

$(gcloud beta emulators datastore env-unset)

Windows

Crea y ejecuta un archivo por lotes con el resultado de env-unset:

gcloud beta emulators datastore env-unset > remove_vars.cmd && remove_vars.cmd

Ahora tu aplicación se conectará a tu base de datos de producción en modo Datastore.

Quita las variables de forma manual

Si tu aplicación y el emulador se ejecutan en máquinas diferentes, quita las variables de entorno de forma manual:

  1. Ejecuta el comando env-unset:

    gcloud beta emulators datastore env-unset
  2. En la máquina que ejecuta tu aplicación, quita las variables de entorno como lo indica el resultado del comando env-unset. Por ejemplo:

    Linux/macOS
    unset DATASTORE_EMULATOR_HOST
    unset DATASTORE_PROJECT_ID
    Windows
    set DATASTORE_EMULATOR_HOST=
    set DATASTORE_PROJECT_ID=

Ahora tu aplicación se conectará a tu base de datos de producción en modo Datastore.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Cloud Datastore