App Bookshelf em Go

O Bookshelf é um exemplo de app da Web escrito em Go que mostra como usar vários produtos do Google Cloud Platform (GCP), incluindo:

  • Ambiente flexível do App Engine
  • Cloud SQL
  • Cloud Datastore
  • Cloud Storage
  • Cloud Pub/Sub
  • Compute Engine

Neste tutorial, você vai explorar o aplicativo Bookshelf e ver como cada recurso do aplicativo é implementado usando tecnologias e serviços familiares fornecidos pelo GCP.

Captura de tela do app Bookshelf mostrando controles e capas de livros

No Bookshelf, há uma coleção de títulos de livros. Qualquer pessoa com acesso a ele pode adicionar livros à lista. O app de amostra oferece estes recursos:

  • Os usuários podem ver a lista de livros.
  • Os usuários podem adicionar e remover livros da lista.
  • Os usuários editam detalhes dos livros.
  • Os usuários fazem upload de imagens de capa dos livros.
  • Os usuários fazem login com a Conta do Google e veem os livros que adicionaram à lista.

Objetivos

  • Clonar ou fazer o download do app de amostra.
  • Criar o app e executá-lo na máquina local.
  • Implantar o aplicativo no App Engine.
  • Analisar o código de amostra.
  • Saber como o app armazena dados estruturados.
  • Descobrir como os dados binários são armazenados pelo app no Cloud Storage.
  • Saber como o app autentica os usuários.
  • Saber como o app cria registros de eventos que podem ser vistos no Console do Google Cloud Platform.
  • Saber como o app usa o Cloud Pub/Sub para enviar tarefas a um trabalhador em segundo plano.

Custos

Neste tutorial, há componentes do GCP passíveis de cobrança, incluindo o Google Compute Engine.

Este tutorial tem várias etapas, e cada uma está documentada em uma página própria. Na página final do tutorial, há instruções sobre como limpar os recursos para você não ser cobrado pelos serviços do GCP. Caso decida não concluir todas as etapas do tutorial, consulte as instruções de limpeza na última página.

Antes de começar

  1. Use o Console do GCP para configurar o projeto do Google Cloud Platform:
    1. Crie um projeto do GCP e um aplicativo do App Engine. Depois, ative o faturamento nesse projeto.
      Acessar o App Engine

      Quando solicitado, selecione a região para armazenar o aplicativo do App Engine e ative o faturamento. Assim que o projeto do GCP é criado, o Painel é aberto.

    2. Ativar Cloud Datastore, Cloud Pub/Sub, Cloud Storage JSON, Stackdriver Logging e Google+ APIs.

      Ativar as APIs

  2. Faça o download, instale e inicialize o SDK do Cloud.
    Fazer o download do SDK do Cloud
  3. Adquira as credenciais locais para fazer a autenticação nos serviços do GCP.
    gcloud auth application-default login
  4. Verifique se o projeto padrão está correto.
    gcloud config list
    Se o código listado na saída não for do projeto que você pretendia usar para este tutorial, defina o projeto.
    gcloud config set project [YOUR_PROJECT_ID]
    em que [YOUR_PROJECT_ID] é o código do projeto que você criou ou escolheu usar neste tutorial.
  5. Clone o repositório de amostra.

    go get -u -d github.com/GoogleCloudPlatform/golang-samples/getting-started/bookshelf/app

Para este tutorial, você precisa conhecer a linguagem de programação Go e instalar esse ambiente.

Estrutura do tutorial

O tutorial do Bookshelf tem várias partes que demonstram como o app de amostra usa os diversos serviços do GCP.

Na parte sobre dados estruturados, você verá como o app de amostra armazena informações de livros em um banco de dados SQL ou NoSQL.

A página da Web do app exibe um formulário em que o usuário pode inserir o título, o autor, a descrição e a data de publicação de um livro. As informações de cada livro inserido são armazenadas em um banco de dados e podem ser recuperadas posteriormente para visualização ou edição. Você tem três opções de banco de dados: Cloud SQL, Cloud Datastore e MongoDB. Depois que concluir essa etapa com um desses bancos de dados, continue para a próxima.

A seção do tutorial referente ao Cloud Storage demonstra como o app de amostra armazena dados binários no Cloud Storage. Na página da Web do app, o usuário pode especificar uma imagem de capa para cada livro. Então, o aplicativo as armazena em um intervalo do Cloud Storage.

Na seção do tutorial referente à autorização, demonstramos como o app fornece um fluxo de login para o usuário. Quando um usuário faz login, todos os livros inseridos são associados a ele. Os usuários conectados veem os dois livros criados por usuários anônimos e seus próprios livros. Outros usuários não podem ver livros criados por um usuário conectado.

Na seção do tutorial que aborda a geração de registros, você verá como o app grava os registros que ficam visíveis no Console do Google Cloud Platform. Com registros desse tipo, você encontra informações de diagnóstico durante o desenvolvimento do aplicativo.

Na parte do Cloud Pub/Sub, você verá como o app usa o Cloud Pub/Sub para enviar tarefas a um trabalhador em segundo plano. No trabalhador, as informações são coletadas da API Google Books e o livro é atualizado no banco de dados.

Esta página foi útil? Conte sua opinião sobre: