Use o servidor de desenvolvimento local depois de os tempos de execução atingirem o fim do apoio técnico

Não pode usar a versão mais recente do dev_appserver.py para executar localmente as suas aplicações para tempos de execução que atingiram o fim do apoio técnico. Para continuar a usar uma versão arquivada do dev_appserver.py, siga as instruções neste guia.

Pode usar o servidor de desenvolvimento local para simular a execução da sua aplicação do App Engine em produção, bem como usá-lo para aceder aos serviços agrupados antigos do App Engine. O ambiente simulado aplica algumas restrições da sandbox, como funções do sistema restritas e importações de módulos de linguagem de tempo de execução, mas não outras, como limites de tempo ou quotas de pedidos.

O servidor de desenvolvimento local também simula os serviços fornecidos pelas bibliotecas no SDK do App Engine, incluindo o armazenamento de dados, a cache de memória e as filas de tarefas, executando as respetivas tarefas localmente. Quando a sua aplicação está a ser executada no servidor de desenvolvimento, continua a poder fazer chamadas de API remotas para a infraestrutura de produção através dos pontos finais HTTP da API Google.

Antes de começar

Para transferir uma versão arquivada do devapp_server.py, siga estes passos:

  1. A partir do arquivo, transfira a pasta comprimida que contém o dev_appserver.py servidor para tempos de execução que atingiram o fim do apoio técnico.

  2. Extraia o conteúdo do diretório para o seu sistema de ficheiros local, como o diretório /home. Pode encontrar o dev_appserver.py no diretório google_appengine/.

Configure o servidor de desenvolvimento local

Para executar a ferramenta de servidor de desenvolvimento local, tem de configurar o seguinte:

  1. Verifique se instalou um intérprete do Python 2 da versão 2.7.12 ou posterior.

  2. Defina a variável de ambiente DEVAPPSERVER_PYTHON na shell para o caminho do intérprete do Python 2.

  3. Localize a ferramenta dev_appserver.py na pasta /google_appengine/ onde extraiu o arquivo transferido, por exemplo:

    DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
    

Execute o servidor de desenvolvimento local

Depois de configurar o servidor de desenvolvimento local e criar o ficheiro de configuração app.yaml para a sua app, pode usar o comando dev_appserver.py para executar a app localmente.

Para iniciar o servidor de desenvolvimento local:

  1. No diretório que contém o ficheiro de configuração app.yaml, execute o comando dev_appserver.py.

    Especifique o caminho do diretório para a sua app, por exemplo:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path=/usr/bin/python2 [PATH_TO_YOUR_APP]
    

    Também pode definir o argumento como uma lista separada por vírgulas de pares [RUNTIME_ID]=[PYTHON_INTERPRETER_PATH]. Por exemplo:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path="python27=/usr/bin/python2.7" [PATH_TO_YOUR_APP]
    

    Para alterar a porta, inclua a opção --port:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py  --runtime_python_path=/usr/bin/python2 --port=9999 [PATH_TO_YOUR_APP]
    

    Substitua DEVAPPSERVER_ROOT pelo caminho para a pasta onde extrai a versão arquivada de devapp_server.py.

  2. O servidor de desenvolvimento local está agora em execução e a ouvir pedidos. Pode visitar http://localhost:8080/ no seu navegador de Internet para ver a app em ação.

    Se especificou uma porta personalizada com a opção --port, lembre-se de abrir o navegador nessa porta.

Para parar o servidor local a partir da linha de comandos, prima o seguinte:

  • macOS ou Linux: Control+C
  • Windows: Control+Break

Especifique os IDs das aplicações

Para aceder ao ID da app no servidor local, por exemplo, para roubar um endereço de email, use a função get_application_id().

Para obter o nome do anfitrião da app em execução, use a função get_default_version_hostname().

Detetar o ambiente de tempo de execução da aplicação

Para determinar se o código está a ser executado em produção ou no servidor de desenvolvimento local, pode verificar o valor da variável de ambiente GAE_ENV:

if os.getenv('GAE_ENV', '').startswith('standard'):
  # Production in the standard environment
else:
  # Local development server

Use o serviço Datastore local

Use o serviço de correio

O servidor de desenvolvimento local pode enviar emails para chamadas para o serviço de email do App Engine através de um servidor SMTP ou de uma instalação local do Sendmail.

Usar o SMTP

Para ativar o suporte de correio com um servidor SMTP, invoque dev_appserver.py da seguinte forma:

    python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
  --smtp_user=ajohnson --smtp_password=k1tt3ns PATH_TO_YOUR_APP

Substituir:

  • DEVAPPSERVER_ROOT com o caminho para a pasta onde extrai a versão arquivada do devapp_server.py.
  • --smtp_host, --smtp_port, --smtp_user e opções de --smtp_password com os seus próprios valores de configuração.
  • PATH_TO_YOUR_APP com o caminho para a sua aplicação.

Usar o Sendmail

Para ativar o apoio técnico por email com o Sendmail, invoque dev_appserver.py da seguinte forma:

  python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_sendmail=yes PATH_TO_YOUR_APP

Substituir:

  • DEVAPPSERVER_ROOT com o caminho para a pasta onde extrai a versão arquivada do devapp_server.py.
  • PATH_TO_YOUR_APP com o caminho para a sua aplicação.

O servidor local usa o comando sendmail para enviar mensagens de email com a configuração predefinida da sua instalação.

Use o serviço de obtenção de URL

Quando a sua aplicação usa a API URL Fetch para fazer um pedido HTTP, o servidor de desenvolvimento local faz o pedido diretamente a partir do seu computador. O comportamento da obtenção de URLs no servidor local pode diferir do App Engine de produção se usar um servidor proxy para aceder a Websites.

Use o serviço Users

O App Engine fornece um serviço de utilizadores para simplificar a autenticação e a autorização da sua aplicação. O servidor de desenvolvimento local simula o comportamento das Contas Google com as suas próprias páginas de início e fim de sessão.

Quando executadas no servidor de desenvolvimento local, as funções devolvem URLs para /_ah/login e /_ah/logout no servidor local.

Argumentos da linha de comandos

Para ver as opções de comando do servidor de desenvolvimento local, consulte o artigo Opções do servidor de desenvolvimento local.