Escreva e teste localmente um serviço Web que disponibilize um ficheiro HTML estático através do Flask. Em seguida, crie os ficheiros de configuração necessários para implementar o serviço Web no App Engine.
Neste passo, cria e testa localmente uma versão de um serviço Web que apresenta dados de marcadores de posição. O objetivo aqui é garantir que o serviço Web básico está a funcionar antes de adicionar a autenticação do Firebase e do Datastore.
Antes de começar
- Se ainda não criou um Google Cloud projeto, crie um Google Cloud projeto. 
- Se ainda não o fez, configure o seu ambiente local para o desenvolvimento em Python 3 concluindo o seguinte: - Transfira e instale o Python 3 para desenvolver o seu serviço Web e executar a CLI Google Cloud. 
- Use as suas Google Cloud credenciais de utilizador para fazer a autenticação na CLI do Google Cloud e ativar os testes locais com o Armazenamento de Dados: - gcloud auth application-default login
 
Estruture os ficheiros de serviços Web
O diretório do projeto onde cria o seu serviço Web tem a seguinte estrutura de ficheiros:
- building-an-app/- app.yaml
- main.py
- requirements.txt
- static/- script.js
- style.css
 
- templates/- index.html
 
 
As secções seguintes oferecem um exemplo de como configurar os ficheiros no diretório do projeto.
Escreva o seu serviço Web
A iteração inicial do seu serviço Web usa o Flask para publicar um modelo HTML baseado em Jinja.
Para configurar o seu serviço Web:
- Crie o seu ficheiro - templates/index.html:
- Adicione comportamentos e estilos com ficheiros - static/script.jse- static/style.css:
- No ficheiro - main.py, use o Flask para renderizar o modelo HTML com os dados de marcadores de posição:
- Configure todas as dependências de que precisa para o seu serviço Web no ficheiro - requirements.txt:
Teste o seu serviço Web
Teste o seu serviço Web executando-o localmente num ambiente virtual:
Mac OS / Linux
- Crie um
       ambiente Python isolado:
      
      python3 -m venv envsource env/bin/activate
- Se não estiver no diretório que contém o código de exemplo, navegue
       para o diretório que contém o código de exemplo hello_world. Em seguida, instale as dependências:cd YOUR_SAMPLE_CODE_DIRpip install -r requirements.txt
- Execute a aplicação:
       python main.py
- No navegador de Internet, introduza o seguinte endereço:
       http://localhost:8080 
Windows
Use o PowerShell para executar os seus pacotes Python.
- Localize a sua instalação do PowerShell.
- Clique com o botão direito do rato no atalho para o PowerShell e inicie-o como administrador.
- Crie um
      ambiente Python isolado.
     
     python -m venv env.\env\Scripts\activate
- Navegue para o diretório do projeto e instale as dependências. Se não estiver no diretório
       que contém o código de exemplo, navegue para o diretório que contém o
       hello_worldcódigo de exemplo. Em seguida, instale as dependências:cd YOUR_SAMPLE_CODE_DIRpip install -r requirements.txt
- Execute a aplicação:
         python main.py
- No navegador de Internet, introduza o seguinte endereço:
         http://localhost:8080 
Configure o seu serviço Web para o App Engine
Para implementar o seu serviço Web no App Engine, precisa de um ficheiro app.yaml.
Este ficheiro de configuração define as definições do seu serviço Web para o App Engine.
Para configurar o seu serviço Web para implementação no App Engine, crie o ficheiro app.yaml no diretório raiz do seu projeto, por exemplo, building-an-app:
Tenha em atenção que, para este serviço Web simples, o ficheiro app.yaml tem de definir apenas a definição de tempo de execução e os controladores para ficheiros estáticos.
Para serviços Web mais complicados, pode configurar definições adicionais
no seu app.yaml, como o dimensionamento, controladores adicionais e outros
elementos da aplicação, como variáveis de ambiente e nomes de serviços.
Para mais informações e uma lista de todos os elementos suportados, consulte a
app.yaml referência.
Passos seguintes
Agora que configurou, criou e testou o seu serviço Web, pode implementar esta versão do serviço Web no App Engine.