
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Authenticate API Requests
/ 25
Create an App Engine instance and Storage Bucket
/ 25
Run the Application
/ 25
Deploy the App
/ 25
Neste laboratório, você vai aprender a implantar um aplicativo da Web Python Flask no ambiente flexível do App Engine. Com o aplicativo de exemplo, o usuário pode fazer upload da foto do rosto de alguém e descobrir se a pessoa está feliz. O aplicativo usa as APIs do Google Cloud para o Vision, o Storage e o Datastore.
Os aplicativos do Google App Engine são fáceis de criar, manter e escalonar de acordo com as alterações necessárias no tráfego e no armazenamento de dados. Com o App Engine, você não precisa se preocupar com a manutenção dos servidores. Basta fazer upload do seu aplicativo.
Os aplicativos do App Engine têm escalonamento automático com base em tráfego de entrada, balanceamento de carga, microsserviços, autorização, bancos de dados SQL e NoSQL, divisão de tráfego, geração de registros, pesquisa, controle de versões, implantações, reversões e verificações de segurança. Tudo isso tem compatibilidade nativa e é altamente personalizável.
O ambiente flexível do App Engine oferece suporte a várias linguagens de programação, como Java, Python, PHP, Node.js, Ruby e Go. O ambiente padrão do App Engine é mais uma opção para determinadas linguagens, incluindo Python. Com esses dois ambientes, os usuários contam com a maior flexibilidade possível quanto ao comportamento dos aplicativos, já que cada ambiente tem pontos fortes específicos. Confira mais informações em Como escolher um ambiente do App Engine.
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
Você também encontra o Nome de usuário no painel Detalhes do laboratório.
Clique em Seguinte.
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
Você também encontra a Senha no painel Detalhes do laboratório.
Clique em Seguinte.
Acesse as próximas páginas:
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
Clique em Autorizar.
A saída será parecida com esta:
Saída:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
flex_and_vision
:As APIs Datastore, Storage e Vision são ativadas para você automaticamente neste laboratório. Para fazer solicitações às APIs, você precisará ter credenciais da conta de serviço. É possível gerar credenciais no seu projeto usando o gcloud no Cloud Shell. O ID do projeto pode ser encontrado na guia em que você começou o laboratório.
Esse comando gera uma chave de conta de serviço armazenada em um arquivo JSON chamado key.json
no seu diretório principal.
Saiba mais sobre como autenticar a API Vision em Quickstart: Setup the Vision API Guide.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
env
com o virtualenv:env
:pip
para instalar as dependências do seu projeto pelo arquivo requirements.txt
:O arquivo requirements.txt
é uma lista de dependências de pacote necessárias para o projeto. O comando acima fez o download de todas essas dependências listadas para o virtualenv.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Uma guia será aberta no navegador, conectando você ao servidor que acabou de iniciar. Aparecerá algo parecido com:
Agora vai ficar interessante!
Quando o upload da foto for concluído, aparecerá algo assim:
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
O exemplo tem o seguinte layout:
Esse arquivo Python é um aplicativo Flask da Web. Com o aplicativo, os usuários podem enviar fotos (preferencialmente de rostos), que são armazenadas no Cloud Storage e analisadas com o recurso de detecção facial da API Cloud Vision. Informações importantes sobre cada uma das fotos são armazenadas no Datastore, o banco de dados NoSQL do Google Cloud. Essas informações são acessadas nesse local toda vez que um usuário acessa o site.
Esse aplicativo usa as bibliotecas de cliente do Google Cloud para o Storage, o Datastore e o Vision. Essas bibliotecas de cliente tornam fácil o acesso às APIs do Cloud com o uso das suas linguagens preferidas de programação.
Agora analisaremos alguns snippets importantes do código.
A seção de importações, na parte de cima, é onde importamos os diversos pacotes de que precisamos para nosso código. É assim que importamos as bibliotecas de cliente do Google Cloud para o Datastore, o Storage e o Vision:
Este é o código para o que acontece quando um usuário acessa o URL raiz do site. Um objeto do cliente do Datastore é criado e é usado para acessar a biblioteca de cliente do Datastore. É executada uma consulta no Datastore por entidades do tipo Faces
. Por fim, o modelo HTML é renderizado, transmitindo image_entities
que extraímos do Datastore como uma variável.
Agora veremos como as entidades são salvas no Datastore. O Datastore é solução de banco de dados NoSQL do Google Cloud. Os dados são armazenados em objetos denominados entidades. A cada entidade é atribuída uma chave de identificação exclusiva, que pode ser criada usando um tipo e uma string de nome da chave. Um tipo é um bucket organizacional para determinar o tipo da entidade. Por exemplo, podemos configurar tipos para Fotos, Pessoas e Animais.
Cada entidade pode ter diversas propriedades definidas pelo desenvolvedor. Elas podem ter valores de diversos tipos, incluindo: números inteiros, flutuantes, strings, datas ou dados binários:
Assim como o Datastore, as bibliotecas de cliente do Vision e do Storage podem ser acessadas de modo programático. Você pode abrir o arquivo main.py usando o vim, o emacs ou o nano para explorar todo o código de exemplo.
O framework da Web para o Flask aproveita o Jinja2 como mecanismo do modelo. Isso nos permite transmitir variáveis e expressões de main.py
em homepage.html
que são substituídas por valores quando a página é renderizada.
Saiba mais sobre Jinja2 em Documentação de designer de modelos.
Esse modelo Jinja2 HTML exibe um formulário para os usuários enviarem fotos ao banco de dados. O modelo também exibe cada uma das imagens enviadas anteriormente com o nome do arquivo e a data e a hora do upload. Além disso, ele mostra a probabilidade de a pessoa que teve o rosto detectado pela API Vision estar feliz.
O ambiente flexível do App Engine usa um arquivo denominado app.yaml
para descrever a configuração de implantação do aplicativo. Se o arquivo estiver faltando, o App Engine tentará deduzir essa configuração. No entanto, convém incluir esse arquivo.
app.yaml
usando um editor de sua preferência vim, nano ou emacs. Vamos usar o editor nano
:app.yaml
aberto, substitua <your-cloud-storage-bucket>
pelo nome do bucket do Cloud Storage. Se você esqueceu o nome do seu bucket do Cloud Storage, copie o ID do projeto do painel de detalhes do laboratório.A seção env_variables
define variáveis de ambiente que serão usadas no main.py
quando o aplicativo estiver implantado.
python_version
de 3 para 3.7 para implantar o App Engine.Seu arquivo deve ser semelhante a este:
Esta é a configuração básica necessária para implantar um aplicativo do ambiente flexível do App Engine para Python 3. Saiba mais sobre como configurar o App Engine em Como configurar um app com o guia app.yaml.
nano
:gcloud
:Quando aparecer Do you want to continue (Y/n), digite Y e pressione ENTER.
Confira no Cloud Shell o processo de criação do aplicativo. Isso pode levar até 10 minutos. O ambiente flexível do App Engine está provisionando automaticamente uma máquina virtual do Compute Engine para você em segundo plano e, depois, vai instalar o aplicativo e iniciá-lo.
gcloud config list project
no Cloud Shell.Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Parabéns! Neste laboratório, você aprendeu a criar e implantar um aplicativo da Web em Python no ambiente flexível do App Engine.
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 13 de outubro de 2023
Laboratório testado em 13 de outubro de 2023
Copyright 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
One lab at a time
Confirm to end all existing labs and start this one