Checkpoints
Create an App Engine application
/ 50
Create a Cloud Datastore entity
/ 50
Desenvolvimento de apps: como armazenar dados de aplicativos no Cloud Datastore – Python
GSP184
Visão geral
O Google Cloud Datastore é um banco de dados de documentos NoSQL criado para oferecer escalonamento automático, alto desempenho e facilidade no desenvolvimento de aplicativos. Neste laboratório, você usará o Datastore como o armazenamento de dados para um aplicativo de teste on-line. Você também definirá as configurações do aplicativo para recuperar os dados do Datastore e mostrá-los no teste.
O esqueleto do aplicativo de teste já foi criado. Você vai clonar o repositório que contém o esqueleto usando o Google Cloud Shell, analisar o código no editor do Cloud Shell e acessá-lo no recurso de visualização da Web do Cloud Shell. Em seguida, você modificará o código que armazena dados para usar o Cloud Datastore.
Objetivos
Neste laboratório, você aprenderá a fazer o seguinte:
- Usar o Cloud Shell como seu ambiente de desenvolvimento
- Visualizar o aplicativo
- Atualizar o código do aplicativo para integrar o Cloud Datastore
Configuração e requisitos
Antes de clicar no botão Start Lab
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:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
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ê verá o seguinte:
- O botão Abrir Console do Cloud
- Tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações se forem necessárias
-
Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta. -
Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.
-
Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.
Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais. -
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.
Ativar o Cloud Shell
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.
- Clique em Ativar o Cloud Shell na parte de cima do console 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.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Iniciar o editor de código do Cloud Shell
- No Cloud Shell, clique em Abrir editor para iniciar o editor de código. Talvez seja necessário clicar em Abrir em nova janela.
Tarefa 1: criar um ambiente virtual
- Clique no ícone Abrir Terminal.
Os ambientes virtuais Python são usados para isolar do sistema a instalação de pacotes.
- Ative o ambiente virtual:
Tarefa 2: preparar o aplicativo de teste
O repositório que contém o aplicativo de teste está no GitHub.com
.
Nesta seção, você usará o Cloud Shell para inserir os comandos que clonam o repositório e executam o aplicativo.
Clonar o código-fonte no Cloud Shell
- Clone o repositório para a classe:
Configurar e executar o aplicativo de teste
-
Mude o diretório de trabalho:
cd ~/training-data-analyst/courses/developingapps/python/datastore/start -
Exporte a variável de ambiente
GCLOUD_PROJECT
que faz referência ao ID do projeto.export GCLOUD_PROJECT=$DEVSHELL_PROJECT_ID Observação: ID do projeto no Cloud Shell Enquanto trabalhar no Cloud Shell, você terá acesso ao ID do projeto na variável de ambiente $DEVSHELL_PROJECT_ID. -
Instale as dependências do aplicativo e ignore os avisos de incompatibilidade:
pip install -r requirements.txt -
Execute o aplicativo:
python run_server.py Ele estará em execução quando aparecer uma mensagem semelhante a esta:
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 179-313-240
Revisar o aplicativo de teste
-
No Cloud Shell, clique em Visualização na Web > Visualizar na porta 8080 para exibir o aplicativo de teste.
Aparecerá a interface do usuário do aplicativo da Web. As três partes principais do aplicativo são:
- Create Question
- Take Test
- Leaderboard
-
Na barra de navegação, clique em Create Question.
Aparecerá um formulário simples com caixas de texto para as perguntas e respostas, além de botões de opção para selecionar a alternativa correta.
Observação: os autores do teste podem adicionar perguntas nesta parte do aplicativo. Ela é criada como um aplicativo da Web do lado do servidor em Flask, o conhecido framework Python. -
Na barra de navegação, clique em Fazer o teste e depois GCP para acessar as perguntas do Google Cloud.
Aparecerá uma pergunta de exemplo.
Os participantes do teste responderão às perguntas nesta parte do aplicativo.
Observação: ela é criada como um aplicativo da Web do lado do cliente. -
Para voltar ao aplicativo do lado do servidor, clique no link Quite Interesting Quiz na barra de navegação.
Tarefa 3: examinar o código do aplicativo de teste
Neste laboratório, você vai exibir e editar arquivos. Use os editores de shell instalados no Cloud Shell, como nano
ou vim
, ou o editor de código do Cloud Shell.
Este laboratório usará o editor do Cloud Shell para revisar o código do aplicativo de teste.
Revise o aplicativo da Web Flask
- Navegue até a pasta
/training-data-analyst/courses/developingapps/python/datastore/start
usando o painel do navegador de arquivos no lado esquerdo do editor.
-
Selecione o arquivo
...run_server.py
.Esse arquivo contém o entrypoint do aplicativo e o executa na porta 8080.
-
Selecione o arquivo
...quiz/_init_.py
.Ele importa rotas para o aplicativo da Web e a API REST.
-
Selecione os arquivos
...quiz/webapp/questions.py
e...quiz/webapp/routes.py
.Eles contêm as rotas que mapeiam URIs para os gerenciadores que exibem o formulário e coletam os dados de formulário postados pelos autores do teste no aplicativo da Web.
-
Selecione a pasta
...quiz/webapp/templates
.Ela contém modelos de interface do usuário do aplicativo da Web que utilizam modelos Jinja2.
-
Visualize o arquivo
...quiz/webapp/templates/add.html
.Ele contém o modelo Jinja2 do formulário Create Question.
Observe que há uma lista de seleção de teste, caixas de texto onde o autor pode digitar a pergunta e as respostas, além de botões de opção para escolher a resposta correta.
-
Selecione o arquivo
...quiz/api/api.py
.Ele contém o gerenciador que envia dados JSON aos alunos que estão fazendo um teste.
-
Selecione o arquivo
...quiz/gcp/datastore.py
.É o arquivo onde você escreve o código do Datastore para salvar e carregar perguntas do teste no Cloud Datastore.
Esse módulo será importado no aplicativo da Web e na API.
Tarefa 4: como adicionar entidades ao Cloud Datastore
Nesta seção, você criará o código para salvar dados de formulário no Cloud Datastore.
# TODO
# END TODO
Para aprender ainda mais, tente escrever o código sem consultar o bloco de código completo no final da seção. Além disso, revise o código, os comentários inline e a documentação da API Datastore Client para o Cloud Datastore relacionada.
Criar um aplicativo do App Engine para provisionar o Cloud Datastore
-
Volte ao Cloud Shell e interrompa o aplicativo pressionando Ctrl+c.
-
Para criar um aplicativo do App Engine no seu projeto, use:
gcloud app create --region "{{{project_0.startup_script.app_region | REGION }}}"
Esta mensagem aparecerá quando o App Engine tiver sido criado:
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Importar e usar o módulo do Datastore em Python
-
Abra o arquivo
...quiz/gcp/datastore.py
no editor do Cloud Shell e adicione o código Updated datastore.py listado abaixo para realizar o seguinte: -
importar o módulo
os
; -
usar o módulo os para receber a variável de ambiente
GCLOUD_PROJECT
; -
importar o módulo
datastore
do pacotegoogle.cloud
; -
declarar um objeto de cliente
datastore.Client
chamadodatastore_client
.
datastore.py atualizado
Criar o código para gerar uma entidade do Cloud Datastore
- Ainda em
...quiz/gcp/datastore.py
, acesse a funçãosave_question()
e remova a instruçãopass
do marcador atual. Adicione o seguinte código de função datastore.py - save_question() listado abaixo para realizar o seguinte:
- usar o objeto do cliente Datastore para criar uma chave de uma entidade do Datastore de tipo
'Question'
; - usar o Datastore para criar uma entidade de pergunta do Datastore com a chave;
- iterar os itens no dicionário de valores fornecidos pelo formulário do aplicativo da Web;
- atribuir cada chave e valor ao objeto da entidade do Datastore (no corpo do loop);
- usar o cliente do Datastore para salvar os dados.
datastore.py - função save_question()
- Salve o
datastore.py
.
Execute o aplicativo e crie uma entidade do Cloud Datastore
- Salve o arquivo
...quiz/gcp/datastore.py
e depois volte ao prompt de comando do Cloud Shell. - Para iniciar o aplicativo, execute o seguinte comando:
- No Cloud Shell, clique em Visualização na Web > Visualizar na porta 8080 para ver o aplicativo de teste.
- Clique em Create Question.
- Preencha o formulário com os valores a seguir e clique em Save.
Campo do formulário |
Valor |
Author |
|
Quiz |
|
Title |
|
Answer 1 |
|
Answer 2 |
|
Answer 3 |
|
Answer 4 |
|
Você precisa voltar para a página inicial do aplicativo.
- No console, acesse o Menu de navegação > Datastore.
- Selecione o banco de dados padrão e clique em Entidades.
Aparecerá uma nova pergunta.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Recupere entidades do Cloud Datastore
Nesta seção, você escreverá um código para recuperar dados da entidade do Cloud Datastore e visualizar sua pergunta no aplicativo.
Escreva o código para recuperar entidades do Cloud Datastore
- No editor de código, no arquivo
...quiz/gcp/datastore.py
, remova o código da funçãolist_entities(quiz, redact)
e o substitua por uma consulta que:
- recupere as entidades de pergunta para um teste específico do Cloud Datastore;
- use o cliente do Datastore para buscar a consulta e use os dados retornados para criar uma lista;
- enumere a lista de itens e promova o identificador de chave de cada entidade a uma propriedade de nível superior;
- retorne os resultados.
- Substitua este código:
Por este:
- Salve o
datastore.py
.
Executar o aplicativo e testar a consulta do Cloud Datastore
Agora teste se sua pergunta é recuperada do Datastore e carregada no aplicativo de teste.
- No Cloud Shell, pressione Ctrl+C para interromper o aplicativo e depois o reinicie:
-
Visualize o teste: se ele ainda estiver aberto na janela, atualize o navegador. Caso contrário, clique em Web preview > Preview on port 8080.
-
Clique em Take Test > GCP.
Vão aparecer as perguntas que criou.
Parabéns!
Aqui termina o laboratório autoguiado "Desenvolvimento de apps: como armazenar dados de aplicativos no Cloud Datastore – Python". Você usou o Datastore para armazenar dados de um aplicativo de teste on-line. Além disso, você configurou o aplicativo para recuperar e exibir os dados no teste.
Terminar a Quest
Este laboratório autoguiado faz parte da Quest Application Development - Python. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest ou em outra que tenha este laboratório para receber os créditos de conclusão na hora. Confira o catálogo do Google Cloud Ensina para acessar todas as Quests disponíveis.
A seguir / Saiba mais
-
Consulte a documentação do Google Cloud Datastore para saber mais sobre o produto.
-
Saiba mais sobre o Python no Google Cloud.
Manual atualizado em 16 de outubro de 2023
Laboratório testado em 18 de outubro de 2023
Copyright 2024 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.