Este tutorial destina-se a pessoas que estão a começar a criar apps na nuvem, como engenheiros e programadores Web, que querem aprender os principais conceitos de desenvolvimento de apps à medida que se aplicam ao Google Cloud.
Objetivos
- Aprenda a usar ferramentas Google Cloud básicas, como a Google Cloud consola e
gcloud
. - Implemente a sua app no Cloud Run.
- Persista os seus dados com o Firestore.
- Armazenar carregamentos de ficheiros no Cloud Storage.
- Monitorize a sua app através da observabilidade do Google Cloud.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
As instruções neste documento destinam-se a manter a sua utilização de recursos dentro dos limites do nível Google CloudSempre Gratuito.
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Para criar uma base de dados do Firestore no modo nativo, conclua os seguintes passos:
-
Na Google Cloud consola, aceda à página Criar base de dados do Firestore.
- No ecrã Selecione um modo do Cloud Firestore, clique em Selecionar modo nativo.
- Selecione uma localização para a sua base de dados do Firestore. Esta definição de localização é a localização de recursos predefinida Google Cloud para o seu Google Cloud projeto . Esta localização é usada para Google Cloud serviços no seu Google Cloud projeto que requerem uma definição de localização, especificamente, o seu contentor do Cloud Storage predefinido e a sua app do Cloud Run.
- Clique em Criar base de dados.
-
Na Google Cloud consola, aceda à página Criar base de dados do Firestore.
-
Enable the Artifact Registry, Cloud Run Admin, Cloud Build, Cloud Storage, Cloud Logging, and Error Reporting APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Clone o repositório de exemplo e abra a aplicação de exemplo no Cloud Shell:
Aceder ao Cloud ShellO Cloud Shell oferece acesso à linha de comandos aos seus Google Cloud recursos diretamente a partir do navegador.
- Para transferir o código de exemplo e alterar para o diretório da app, clique em Continuar.
-
No Cloud Shell, configure a ferramenta
gcloud
para usar o seu novo projeto Google Cloud :# Configure gcloud for your project gcloud config set project PROJECT_ID
Substitua PROJECT_ID pelo Google Cloud ID do projeto que criou com a Google Cloud consola.
A CLI do Google Cloud é a principal forma de interagir com os seus Google Cloud recursos a partir da linha de comandos. Neste tutorial, vai usar a ferramenta
gcloud
para implementar e monitorizar a sua app. -
Crie a app, que transfere automaticamente as dependências:
go build
-
Execute a app:
Substitua PROJECT_ID pelo Google Cloud ID do projeto que criou.GOOGLE_CLOUD_PROJECT=PROJECT_ID ./bookshelf
- No Cloud Shell, clique em Pré-visualização Web , e selecione Pré-visualizar na porta 8080. Esta ação abre uma nova janela com a app em execução.
Execute a sua app
Implementar a sua app no Cloud Run
Google Cloud oferece várias opções para executar o seu código. Para este exemplo, usa o Cloud Run para implementar uma app escalável no Google Cloud. O Cloud Run não requer que faça a gestão de servidores e é dimensionado automaticamente para suportar picos de tráfego.
- Execute o contentor com o Cloud Run:
gcloud run deploy bookshelf --region us-central1 --allow-unauthenticated \ --set-env-vars="GOOGLE_CLOUD_PROJECT=
PROJECT_ID
" --source .A sua app está agora visível no URL apresentado no resultado de
gcloud run
:Service [bookshelf] revision [bookshelf-00001] has been deployed and is serving 100 percent of traffic. Service URL: https://bookshelf-swsmmh5s5a-uc.a.run.app
-
Copie o URL para o navegador de Internet para ver a app.
Para mais informações sobre a implementação no Cloud Run, consulte a documentação do Cloud Run.
Persista os seus dados com o Firestore
Não pode armazenar informações nas suas instâncias do Cloud Run, porque são perdidas se a instância for reiniciada e não existem quando são criadas novas instâncias. Em alternativa, usa uma base de dados a partir da qual todas as suas instâncias leem e na qual escrevem.
Google Cloud oferece várias opções para armazenar os seus dados. Neste exemplo, usa o Firestore para armazenar os dados de cada livro. O Firestore é uma base de dados de documentos NoSQL totalmente gerida e sem servidor que lhe permite armazenar e consultar dados. O Firestore é automaticamente dimensionado para satisfazer as necessidades da sua app e é dimensionado para zero quando não o está a usar. Adicione o seu primeiro livro agora.
-
Para criar um livro para a sua app implementada, clique em Adicionar livro.
- No campo Título, introduza
Moby Dick
. - No campo Autor, introduza
Herman Melville
. -
Clique em Guardar. Agora, existe uma entrada para a app Bookshelf.
-
Na Google Cloud consola, para atualizar a página do Firestore, clique em
Atualizar refresh.
Os dados são apresentados no Firestore. A app Bookshelf armazena cada livro
como um
documento do Firestore
com um ID exclusivo, e todos estes documentos são armazenados numa
coleção do Firestore.
Para efeitos deste tutorial, a coleção chama-se books.
O Firestore armazena os livros através da biblioteca cliente do Firestore. Segue-se um exemplo de obtenção de um documento do Firestore:
Para mais informações sobre a utilização do Firestore, consulte o artigo Adicionar dados ao Firestore.
Armazene carregamentos de ficheiros no Cloud Storage
Agora que adicionou um livro, está na altura de adicionar a imagem da capa do livro. Não pode armazenar ficheiros nas suas instâncias. Uma base de dados não é a escolha certa para ficheiros de imagem. Em alternativa, use o Cloud Storage.
O Cloud Storage é o armazenamento de objetos binários principal para o Google Cloud. Pode usar o Cloud Storage para alojar recursos de apps que quer partilhar em várias plataformas Google Cloud. Para usar o Cloud Storage, tem de criar um contentor do Cloud Storage, um contentor básico para armazenar os seus dados.
- Na Google Cloud consola, aceda à página Navegador do Cloud Storage.
- Clique em Criar contentor.
- Na caixa de diálogo Criar contentor, introduza um nome para o contentor anexando o Google Cloud ID do projeto à string
_bucket
para que o nome se assemelhe aYOUR_PROJECT_ID_bucket
. Este nome está sujeito aos requisitos do nome do contentor. Todos os outros campos podem permanecer com os respetivos valores predefinidos. - Clique em Criar.
- Depois de criar o contentor, os objetos têm de ser tornados acessíveis publicamente para serem vistos pelos utilizadores. Para tornar os seus objetos acessíveis publicamente, consulte o artigo Tornar os dados públicos.
-
Clique em Editar livro e selecione uma imagem para carregar como capa do livro. Por exemplo, pode usar esta imagem de domínio público:
-
Clique em Guardar. É feito o redirecionamento para a página inicial, onde existe uma entrada para a app Bookshelf.
A app de livros envia ficheiros carregados para o Cloud Storage através da biblioteca cliente do Cloud Storage.
Para mais informações sobre a utilização do Cloud Storage, consulte a introdução ao Cloud Storage.
Monitorize a sua app com a Google Cloud Observability
Implementou a sua app e criou e modificou livros. Para monitorizar estes eventos para os seus utilizadores, use a gestão do desempenho das aplicações.
Monitorize registos com o Cloud Logging
-
No Google Cloud, aceda ao Explorador de registos
Aceda ao Explorador de registosPode monitorizar a sua app em tempo real. Se tiver problemas com a sua app, este é um dos primeiros locais a consultar.
- Na lista pendente Recurso, selecione Revisão do Cloud Run, estante.
Monitorize erros com o Error Reporting
-
Na Google Cloud consola, aceda à página Relatórios de erros.
Aceda à página Relatório de erros
O Relatório de erros realça erros e exceções na sua app e permite-lhe configurar alertas em torno dos mesmos. -
No navegador, aceda ao
/errors
URL na sua app.
YOUR_CLOUD_RUN_URL/errors
Isto gera uma nova exceção de teste e envia-a para o Google Cloud Observability.
-
Na Google Cloud consola, regresse à página Relatório de erros e, dentro de alguns momentos, o novo erro fica visível. Clique em Atualizar automaticamente para não ter de atualizar a página manualmente.
Limpar
Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.
Elimine o projeto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.