ID da região
O REGION_ID
é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
fevereiro de 2020, REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criadas antes desta data, o
ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
Use informações de utilizadores autenticados para armazenar e obter dados específicos do utilizador e personalize a experiência de cada utilizador com o seu serviço Web.
Num passo anterior, atualizou o serviço Web para apresentar os últimos dez pedidos de todos os utilizadores. Neste passo, usa informações de utilizadores autenticados para atualizar o seu serviço Web, de modo que a página apresente apenas uma lista dos últimos dez pedidos feitos pelo utilizador autenticado atualmente.
Antes de começar
Se tiver concluído todos os passos anteriores neste guia, ignore esta secção. Caso contrário, conclua uma das seguintes opções:
Comece por Criar uma app Python 3 e conclua todos os passos anteriores a este.
Se já tiver um Google Cloud projeto, pode continuar a descarregar uma cópia do serviço Web e adicionar o Firebase:
Transfira o repositório da aplicação de exemplo através do Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Em alternativa, pode transferir o exemplo como um ficheiro ZIP e, de seguida, extraí-lo.
Navegue para o diretório que contém uma cópia dos ficheiros do passo anterior:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-3
Adicione o Firebase ao seu Google Cloud projeto e serviço Web.
Armazene e obtenha dados específicos do utilizador
Pode indicar que os dados estão associados a um determinado utilizador através de antepassados do Firestore no modo Datastore (Datastore), que lhe permitem organizar os dados do Datastore hierarquicamente.
Para tal, efetue os seguintes passos:
Atualize os métodos
store_time
efetch_time
para usar antepassados do Datastore para armazenar e obter entidadesvisit
:Cada entidade
visit
tem agora um elemento principal ao qual está ligada. Estes antecessores são entidades do Datastore que representam utilizadores autenticados individuais. A chave de cada antepassado inclui oUser
tipo e um ID personalizado, que é o endereço de email do utilizador autenticado. Usa a chave principal para consultar a base de dados apenas para os horários associados a um utilizador específico.Atualize a chamada do método
store_times
no métodoroot
e mova-a para dentro da condiçãoid_token
para que só seja executada se o servidor tiver autenticado um utilizador:
Configure índices
O Datastore faz consultas com base em índices. Para entidades simples, o Datastore gera automaticamente estes índices. No entanto, não pode gerar automaticamente índices para entidades mais complicadas, incluindo as que têm antecessores.
Por este motivo, tem de criar manualmente um índice para as entidades visit
para que o Datastore possa executar consultas que envolvam entidades visit
.
Para criar um índice para entidades visit
, conclua os seguintes passos:
Crie um ficheiro
index.yaml
no diretório raiz do seu projeto, por exemplo,building-an-app
, e adicione o seguinte índice:Implemente os seus
index.yaml
índices no Datastore executando o seguinte comando e seguindo as instruções:gcloud datastore indexes create index.yaml
O Datastore pode demorar algum tempo a criar índices. A criação de índices antes de implementar o seu serviço Web no App Engine permite-lhe testar localmente com esses índices e evita exceções que possam ocorrer para consultas que exijam um índice que ainda esteja em processo de criação.
Para mais informações sobre como criar índices do Datastore, consulte o artigo Configurar índices do Datastore.
Testar o seu serviço Web
Teste o seu serviço Web executando-o localmente num ambiente virtual:
Execute o seguinte comando no diretório principal do projeto para executar o serviço Web. Se não configurou um ambiente virtual para testes locais, consulte o artigo sobre como testar o seu serviço Web.
python main.py
Introduza o seguinte endereço no seu navegador de Internet para ver o serviço Web:
http://localhost:8080
Implemente o seu serviço Web
Agora que tem o Datastore a funcionar localmente, pode voltar a implementar o seu serviço Web no App Engine.
Execute o seguinte comando a partir do diretório raiz do seu projeto,
onde se encontra o ficheiro app.yaml
:
gcloud app deploy
Todo o tráfego é encaminhado automaticamente para a nova versão implementada.
Para mais informações sobre a gestão de versões, consulte o artigo Faça a gestão de serviços e versões.
Veja o seu serviço
Para iniciar rapidamente o navegador e aceder ao seu serviço Web em
https://PROJECT_ID.REGION_ID.r.appspot.com
, execute o seguinte comando:
gcloud app browse
Passos seguintes
Parabéns! Criou com êxito um serviço Web que usa o armazenamento de dados do Datastore e a autenticação do Firebase para fornecer aos utilizadores autenticados uma página Web personalizada.
Agora, pode fazer a limpeza encerrando, desativando ou desativando a faturação do seu projeto.