Ejecuta el emulador de Cloud Datastore

El emulador de Cloud Datastore proporciona una emulación local de su entorno de producción. Puedes utilizar el emulador para desarrollar y probar tus aplicaciones de forma local. Además, el emulador puede ayudarte a generar índices para tus instancias de producción de Cloud Datastore y borrar los que no necesites. Esta página te explicará cómo instalar el emulador, cómo iniciarlo y cómo configurar variables del entorno para que se pueda conectar con tus aplicaciones.

Antes de comenzar

Para usar el emulador de Cloud Datastore, necesitas:

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 a través de 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 manera predeterminada. el emulador utiliza el directorio de datos ~/.config/gcloud/emulators/datastore/. El archivo local_db.bin se mantiene en las sesiones del emulador. Puedes configurar varios directorios de datos y considerar a cada uno como una instancia independiente y local de Cloud Datastore. Para borrar los contenidos de un archivo local_db.bin, detén el emulador y bórralo de forma manual.

Inicia el emulador

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

gcloud beta emulators datastore start [flags]

en donde [flags] son argumentos de línea de comandos opcionales proporcionados a la herramienta 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 usa un archivo existente si está disponible.

  • --no-store-on-disk configura el emulador para que no mantenga datos en el disco durante la sesión del emulador.

Consulta la referencia 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 las variables del entorno

Después de iniciar el emulador, debes configurar las variables del entorno para que tu aplicación se conecte a él y no al entorno de producción de Cloud Datastore. Configura estas variables del 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 del entorno dependen de los números de puerto asignados dinámicamente, los cuales 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 del 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 del entorno de forma manual:

  1. Ejecuta el comando env-init:

    gcloud beta emulators datastore env-init
  2. Configura las variables del entorno y los valores como lo indica el resultado del comando env-init en la máquina que ejecuta tu aplicación. 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 instancia de producción de Cloud Datastore, además de poder borrar los que no necesitas. Obtén más información en Cómo usar la herramienta gcloud.

Quita variables del entorno

Cuando termines de usar el emulador, detenlo (Control-C) y quita las variables del entorno para que tu aplicación se pueda conectar a tu instancia de producción de Cloud 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 del 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 instancia de producción de Cloud Datastore.

Quita las variables de forma manual

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

  1. Ejecuta el comando env-unset:

    gcloud beta emulators datastore env-unset
  2. Quita las variables del entorno como lo indica el resultado del comando env-unset en la máquina que ejecuta tu aplicación. 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 instancia de producción de Cloud Datastore.

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

Enviar comentarios sobre…

Documentación de Cloud Datastore