Como executar o emulador do Cloud Datastore

Com o emulador do Cloud Datastore, você realiza uma emulação local do ambiente de produção do Cloud Datastore. Use o emulador para desenvolver e testar seu aplicativo localmente. Além disso, com o emulador, é possível gerar índices para a instância de produção do Cloud Datastore e excluir índices desnecessários. Nesta página, você verá a instalação e a execução do emulador, além da definição de variáveis de ambiente para conectar seu aplicativo ao emulador.

Antes de começar

Para usar o emulador do Cloud Datastore, é necessário:

Como instalar o emulador

O emulador do Cloud Datastore é um componente da ferramenta gcloud do Google Cloud SDK. Para instalá-lo, use o comando gcloud components install:

gcloud components install cloud-datastore-emulator

Diretórios de dados do emulador

O emulador simula o Cloud Datastore criando /WEB-INF/appengine-generated/local_db.bin em um diretório de dados especificado e armazenando dados em local_db.bin. Por padrão, o emulador usa o diretório de dados ~/.config/gcloud/emulators/datastore/. O arquivo local_db.bin persiste entre as sessões do emulador. Configure vários diretórios de dados e pense em cada um como uma instância local separada do Datastore. Para limpar o conteúdo de um arquivo local_db.bin, pare o emulador e exclua manualmente o arquivo.

Como iniciar o emulador

Execute datastore start em um prompt de comando para iniciar o emulador:

gcloud beta emulators datastore start [flags]

em que [flags] são argumentos de linha de comando opcionais fornecidos à ferramenta gcloud. Por exemplo:

  • --data-dir=[DATA_DIR] altera o diretório de dados do emulador. O emulador cria o arquivo /WEB-INF/appengine-generated/local_db.bin em [DATA_DIR] ou, se disponível, usa um arquivo existente.

  • --no-store-on-disk configura o emulador para que nenhum dado na seção dele permaneça em disco.

Para uma lista completa das sinalizações opcionais, consulte a referência gcloud beta emulators datastore start.

Depois de o emulador ser iniciado, será exibida uma mensagem semelhante à seguinte:

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

Se quiser parar o emulador, digite Control-C no prompt de comando.

Como definir variáveis de ambiente

Depois de iniciar o emulador, é necessário definir variáveis de ambiente para que o aplicativo se conecte ao emulador em vez de ao banco de dados de produção do modo Datastore. Defina essas variáveis de ambiente na mesma máquina usada para executar o aplicativo.

Defina as variáveis de ambiente sempre que iniciar o emulador. As variáveis de ambiente dependem de números de portas atribuídos dinamicamente que podem ser alterados ao reiniciar o emulador.

Como definir as variáveis automaticamente

Se o aplicativo e o emulador forem executados na mesma máquina, defina as variáveis de ambiente automaticamente:

Linux/macOS

Execute env-init usando a substituição de comando:

$(gcloud beta emulators datastore env-init)

Windows

Crie e execute um arquivo de lote usando a saída de env-init:

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

Seu aplicativo se conectará ao emulador do Cloud Datastore.

Como definir manualmente as variáveis

Se o aplicativo e o emulador forem executados em máquinas diferentes, configure as variáveis de ambiente manualmente:

  1. Execute o comando env-init:

    gcloud beta emulators datastore env-init
  2. Na máquina que executa o aplicativo, defina as variáveis e os valores de ambiente de acordo com a direção da saída do comando env-init. Por exemplo:

    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

Seu aplicativo se conectará ao emulador do Cloud Datastore.

Como atualizar e excluir índices

Ao executar o aplicativo pelo emulador, é possível gerar índices para a produção do Datastore e excluir os índices desnecessários. Saiba mais em Como usar a ferramenta gcloud.

Com remover variáveis de ambiente

Depois de usar o emulador, interrompa-o (Control-C) e remova as variáveis de ambiente para que seu aplicativo se conecte à produção do Datastore.

Como remover as variáveis automaticamente

Se o aplicativo e o emulador forem executados na mesma máquina, será possível remover as variáveis de ambiente automaticamente:

Linux/macOS

Execute env-unset usando a substituição de comando:

$(gcloud beta emulators datastore env-unset)

Windows

Crie e execute um arquivo de lote usando a saída de env-unset:

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

Agora o aplicativo se conectará ao banco de dados de produção do modo Datastore.

Como remover as variáveis manualmente

Se o aplicativo e o emulador forem executados em máquinas diferentes, remova as variáveis de ambiente manualmente:

  1. Execute o comando env-unset:

    gcloud beta emulators datastore env-unset
  2. Na máquina que executa o aplicativo, remova as variáveis de ambiente conforme indicado pela saída do comando env-unset. Por exemplo:

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

Agora o aplicativo se conectará ao banco de dados de produção do modo Datastore.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Datastore