GSP344

Visão geral
Nos laboratórios com desafio, apresentamos uma situação e um conjunto de tarefas. Para concluí-las, em vez de seguir instruções detalhadas, você usará o que aprendeu nos laboratórios do curso. Um sistema automático de pontuação (mostrado nesta página) vai avaliar seu desempenho.
Nos laboratórios com desafio, não ensinamos novos conceitos do Google Cloud. O objetivo dessas tarefas é aprimorar aquilo que você já aprendeu, como a alteração de valores padrão ou a leitura e pesquisa de mensagens para corrigir seus próprios erros.
Para alcançar a pontuação de 100%, você precisa concluir todas as tarefas no tempo definido.
Este laboratório é recomendado para estudantes que se inscreveram no curso Desenvolvimento de apps sem servidor com o Firebase. Tudo pronto para começar o desafio?
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar 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, e 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).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Provisione o ambiente
- Vincule-se ao projeto:
gcloud config set project $(gcloud projects list --format='value(PROJECT_ID)' --filter='qwiklabs-gcp')
- Clone o repositório:
git clone https://github.com/rosera/pet-theory.git
Cenário do desafio
Neste laboratório, você criará uma solução de front-end usando uma API REST e um banco de dados Firestore. O Cloud Firestore é um banco de dados de documentos NoSQL que faz parte da plataforma do Firebase. Nele, você pode armazenar, sincronizar e consultar dados em escala dos seus apps da Web e para dispositivos móveis. O conteúdo do laboratório é baseado em um cenário do mundo real e usa a infraestrutura sem servidor do Google Cloud.
Você vai criar a seguinte arquitetura:

Tarefa 1: criar um banco de dados do Firestore
Neste cenário, você vai criar um banco de dados do Firestore no Google Cloud. O diagrama de alto nível abaixo resume a arquitetura geral.

Requisitos:
Campo |
Valor |
Cloud Firestore |
Modo nativo |
Local |
|
Crie um banco de dados do Firestore
Para concluir esta seção, você precisa fazer o seguinte:
- Implementar o banco de dados Cloud Firestore
- Usar o modo nativo do Firestore
- Adicionar o local
Clique em Verificar meu progresso para conferir se você executou a tarefa. Criar um banco de dados do Firestore
Tarefa 2: preencher o banco de dados
Neste cenário, preencha o banco de dados usando dados de teste.
Este diagrama de alto nível resume a arquitetura geral:

Preencha o banco de dados
Exemplo de esquema do Firestore:
Coleção |
Documento |
Campo |
dados |
70234439 |
[conjunto de dados] |
O Netflix Shows Dataset (em inglês) inclui as seguintes informações:
Campo |
Descrição |
show_id |
ID exclusivo de cada filme/programa de TV |
type |
Identificador: filme/programa de TV |
title |
Título do filme/programa de TV |
director |
Diretor do filme |
cast |
Atores do filme/programa de TV |
country |
País onde o filme/programa de TV foi produzido |
date_added |
Data em que o filme/programa TV foi adicionado à Netflix |
release_year |
Ano de lançamento do filme/programa de TV |
rating |
Classificação de TV do filme/programa de TV |
duration |
Duração total: em minutos ou número de temporadas |
Para concluir esta seção, você precisa fazer o seguinte:
- Usar o exemplo de código de
pet-theory/lab06/firebase-import-csv/solution
:
npm install
- Usar o nó
pet-theory/lab06/firebase-import-csv/solution/index.js
para importar o CSV:
node index.js netflix_titles_original.csv
Observação: confira os dados na interface do Firestore para verificar se o banco de dados foi atualizado.
Clique em Verificar meu progresso para conferir se você executou a tarefa. Preencher o banco de dados do Firestore
Tarefa 3: criar uma API REST
Neste cenário, crie uma API REST de exemplo.
Este diagrama de alto nível resume a arquitetura geral:

Desenvolvimento do Cloud Run
Campo |
Valor |
Imagem do Container Registry |
rest-api:0.1 |
Serviço do Cloud Run |
netflix-dataset-service |
Permissão |
--allow-unauthenticated |
Para concluir esta seção, você precisa fazer o seguinte:
- Acessar
pet-theory/lab06/firebase-rest-api/solution-01
- Criar e implantar o código no Google Container Registry
- Implantar a imagem como um serviço do Cloud Run
Observação: implante o serviço com uma única instância para não exceder o limite para as instâncias do Cloud Run.
- Acesse o Cloud Run, clique em netflix-dataset-service e depois copie o URL do serviço:
SERVICE_URL=copie o URL do serviço netflix-dataset-service
-
curl -X GET $SERVICE_URL
deve responder com: {"status":"Netflix Dataset! Make a query."}
Clique em Verificar meu progresso para conferir se você executou a tarefa. Implantar e testar a API REST
Tarefa 4: acessar a API Firestore
Neste cenário, implante uma revisão atualizada do código para acessar o banco de dados do Firestore.
Este diagrama de alto nível resume a arquitetura geral:

Implante a revisão 0.2 do Cloud Run
Campo |
Valor |
Imagem do Container Registry |
rest-api:0.2 |
Serviço do Cloud Run |
netflix-dataset-service |
Permissão |
--allow-unauthenticated |
Para concluir esta seção, você precisa fazer o seguinte:
- Acessar
pet-theory/lab06/firebase-rest-api/solution-02
- Criar o aplicativo atualizado
- Usar o Cloud Build para marcar e implantar a revisão de imagem no Container Registry
- Implantar a nova imagem como um serviço do Cloud Run
Observação: implante o serviço com uma única instância para não exceder o limite para as instâncias do Cloud Run.
- Acesse o Cloud Run, clique em netflix-dataset-service e depois copie o URL do serviço:
SERVICE_URL=copie o URL do serviço netflix-dataset-service
-
curl -X GET $SERVICE_URL/2019
deve responder com um conjunto de dados JSON
Clique em Verificar meu progresso para conferir se você executou a tarefa. Implantar e testar a API REST
Tarefa 5: implantar o front-end de preparo
Neste cenário, implante o front-end de preparo.
Este diagrama de alto nível resume a arquitetura geral:

Implante o front-end
Campo |
Valor |
REST_API_SERVICE |
URL do serviço da API REST |
Imagem do Container Registry |
frontend-staging:0.1 |
Serviço do Cloud Run |
frontend-staging-service |
Para concluir esta seção, você precisa fazer o seguinte:
- Acessar
pet-theory/lab06/firebase-frontend
- Criar o aplicativo de preparo de front-end
- Usar o Cloud Build para marcar e implantar a revisão de imagem no Container Registry
- Implantar a nova imagem como um serviço do Cloud Run
Observação: implante o serviço com uma única instância para não exceder o limite para as instâncias do Cloud Run.
- Implementar o acesso de front-end à API REST e ao banco de dados do Firestore
- Acessar o URL do serviço de front-end
Observação: um conjunto de dados de demonstração é usado para as entradas na tela.

Clique em Verificar meu progresso para conferir se você executou a tarefa. Implante o front-end de teste
Tarefa 6: implantar o front-end de produção
Neste cenário, atualize o front-end de preparo para usar o banco de dados do Firestore.
Este diagrama de alto nível resume a arquitetura geral:

Implante o front-end
Campo |
Valor |
REST_API_SERVICE |
URL do serviço da API REST |
Imagem do Container Registry |
frontend-production:0.1 |
Serviço do Cloud Run |
frontend-production-service |
Para concluir esta seção, você precisa fazer o seguinte:
- Acessar
pet-theory/lab06/firebase-frontend/public
- Atualizar o aplicativo de front-end, por exemplo,
app.js
, para usar a API REST.
- Anexar o ano ao SERVICE_URL
- Usar o Cloud Build para marcar e implantar a revisão de imagem no Container Registry
- Implantar a nova imagem como um serviço do Cloud Run Observação: implante seu serviço com uma única instância para não exceder o limite para as instâncias do Cloud Run.
- Implementar o acesso de front-end à API REST e ao banco de dados do Firestore
Agora que os serviços foram implantados, você poderá conferir o conteúdo do banco de dados do Firestore usando o serviço de front-end.

Clique em Verificar meu progresso para conferir se você executou a tarefa. Implantar o front-end de produção
Parabéns!
Parabéns! Neste laboratório, você criou e preencheu um banco de dados do Firestore, criou uma API REST e implantou um aplicativo de front-end que interage com o banco de dados do Firestore e a API REST. Você também aprendeu a implantar um aplicativo de front-end de teste e de produção.

Conquiste seu próximo selo de habilidade
Este laboratório autoguiado faz parte do curso do selo de habilidade Desenvolvimento de apps sem servidor com o Firebase. Ao concluir o curso, você ganha o selo acima como reconhecimento pela sua conquista. Compartilhe o selo no seu currículo e nas redes sociais e use #GoogleCloudBadge para anunciar sua conquista.
Treinamento e certificação do Google Cloud
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 2 de maio de 2024
Laboratório testado em 2 de maio de 2024
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.