App de Bookshelf de Go

La app de Bookshelf es una aplicación web de muestra escrita en Go, en la que se indica cómo usar varios productos de Google Cloud Platform (GCP), incluidos los siguientes:

  • Entorno flexible de App Engine
  • Cloud SQL
  • Cloud Datastore
  • Cloud Storage
  • Cloud Pub/Sub
  • Compute Engine

En este instructivo se explora la app de Bookshelf y se analiza cómo se implementa cada función de la aplicación con las tecnologías y los servicios conocidos que proporciona GCP.

Captura de pantalla de la app Bookshelf que muestra los controles y las portadas de los libros

La app Bookshelf de muestra almacena una colección de títulos de libros. Cualquier persona que tenga acceso a la app puede agregar libros a la lista. La app de muestra ofrece estas características:

  • Los usuarios pueden ver la lista de libros.
  • Los usuarios pueden agregar y quitar libros de la lista.
  • Los usuarios pueden editar los detalles de los libros.
  • Los usuarios pueden subir imágenes de portada de los libros.
  • Los usuarios pueden acceder con sus cuentas de Google y ver los libros que agregaron a la lista.

Objetivos

  • Clonar o descargar la app de muestra
  • Crear la app y ejecutarla en una máquina local
  • Implementar la app en App Engine
  • Examinar el código de muestra
  • Obtener información sobre cómo se almacenan datos estructurados en la app
  • Obtener información sobre cómo la app almacena datos binarios en Cloud Storage.
  • Obtener información sobre cómo la app autentica usuarios
  • Obtener información sobre cómo la app crea registros de eventos visibles en Google Cloud Platform Console.
  • Obtener información sobre cómo la app usa Cloud Pub/Sub para enviar tareas al trabajador en segundo plano.

Costos

En este instructivo se usan componentes facturables de GCP, incluido Compute Engine.

Este instructivo tiene varios pasos y cada uno se documenta en una página propia. En la última página se incluyen instrucciones para realizar la limpieza de los recursos, de manera que no se sigan facturando servicios de GCP en tu cuenta. Si decides no completar todos los pasos del instructivo, consulta las instrucciones de limpieza en la última página.

Antes de comenzar

  1. Usa GCP Console para configurar el proyecto de Google Cloud Platform:
    1. Crea un proyecto de GCP nuevo y una aplicación de App Engine, y luego habilita la facturación en ese proyecto.
      Ir a App Engine

      Cuando se te pregunte, selecciona la región donde quieres que se ubique la aplicación de App Engine y habilita la facturación. Después de crear el proyecto de GCP, se abrirá el Panel de control.

    2. Habilita las Cloud Datastore, Cloud Pub/Sub, Cloud Storage JSON, Stackdriver Logging y Google+ API necesarias.

      Habilita las API

  2. Descarga, instala y luego inicializa el SDK de Cloud.
    Descargar el SDK de Cloud
  3. Obtén credenciales locales para realizar la autenticación con servicios de GCP.
    gcloud auth application-default login
  4. Verifica que el proyecto predeterminado sea el correcto.
    gcloud config list
    Si el ID del proyecto que aparece en el resultado no corresponde al proyecto que quieres usar para este instructivo, configura el proyecto.
    gcloud config set project [YOUR_PROJECT_ID]
    donde [YOUR_PROJECT_ID] es el ID del proyecto que creaste o elegiste usar para este instructivo.
  5. Clona el repositorio de muestra.

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

En este instructivo se asume que estás familiarizado con el lenguaje de programación de Go y que instalaste Go.

Estructura del instructivo

El instructivo de Bookshelf tiene varias partes que indican cómo la app de muestra utiliza diversos servicios de GCP.

La sección de datos estructurados del instructivo muestra cómo la app de ejemplo almacena la información de los libros en una base de datos SQL o NoSQL.

La página web de la app muestra un formulario en el que el usuario puede ingresar el título, el autor, la descripción y la fecha de publicación de un libro. Para cada libro que se ingresa, la app almacena esta información en una base de datos, de manera que se pueda recuperar más tarde para verla o editarla. Para este paso del instructivo, debes elegir una de estas tres bases de datos: Cloud SQL, Cloud Datastore o MongoDB. Después de completar este paso con una de las bases de datos, puedes continuar con el paso siguiente.

La sección de Cloud Storage del instructivo explica cómo la app de muestra almacena datos binarios en Cloud Storage. En la página web de la app, el usuario puede especificar una imagen de portada para cada libro. La app almacena las imágenes de portada en un depósito de Cloud Storage.

La sección de autorización del instructivo demuestra cómo la app proporciona un flujo de acceso para el usuario. Cuando un usuario accede, los libros que se ingresan se asocian con ese usuario en particular. Los usuarios registrados pueden ver sus propios libros y los que crearon usuarios anónimos. Otros usuarios no pueden ver los libros creados por un usuario registrado.

La sección de registro del instructivo demuestra cómo la app escribe registros que se pueden ver en Google Cloud Platform Console. Los registros de este tipo pueden proporcionar información de diagnóstico durante el desarrollo de la app.

La sección de Pub/Sub del instructivo muestra cómo la app usa Cloud Pub/Sub para enviar tareas a un trabajador en segundo plano. El trabajador recibe información desde la API de Google Libros y actualiza la información de los libros en la base de datos.

¿Te ha resultado útil esta página? Enviar comentarios: