Puntos de control
Build with Cloud Build
/ 25
Deploy to Cloud Run
/ 25
Service Account created
/ 25
Check PubSub Subscription
/ 25
Cómo crear archivos PDF con Go y Cloud Run
- GSP762
- Descripción general
- Qué aprenderás
- Configuración y requisitos
- Arquitectura
- Cómo usar las APIs de Google
- Tarea 1: Obtén el código fuente
- Tarea 2: Crea un microservicio de facturas
- Tarea 3: Crea un servicio pdf-conversion
- Tarea 4: Crea una cuenta de servicio
- Tarea 5: Prueba el servicio de Cloud Run
- Tarea 6: Activador de Cloud Storage
- Tarea 7: Prueba la notificación de Cloud Storage
- ¡Felicitaciones!
GSP762
Descripción general
En este lab, compilarás una aplicación web para convertir archivos PDF en Cloud Run, un servicio sin servidores, que convierte automáticamente los archivos almacenados en Google Drive en PDF y los almacena en carpetas separadas de Google Drive.
Qué aprenderás
- Convertir una aplicación de Go en un contenedor
- Aprender a compilar contenedores con Google Cloud Build
- Crear un servicio de Cloud Run que convierta archivos en archivos PDF en la nube
- Comprender cómo crear cuentas de servicio y agregar permisos
- Usar el procesamiento de eventos con Cloud Storage
Requisitos previos
Este es un lab de nivel básico, lo que supone que el usuario tiene conocimientos previos sobre la consola de Cloud y Cloud Shell.
Además, debes sentirte cómodo editando archivos. Puedes usar tu editor de texto favorito (como nano, vi, etc.) o puedes iniciar el editor de código de Cloud Shell, que se encuentra en la cinta superior:
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar su lab y acceder a la consola de Google Cloud
-
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:
- El botón Abrir la consola de Google
- Tiempo restante
- Las credenciales temporales que debe usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta. -
Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.
-
Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.
Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepte los términos y condiciones.
- No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No se registre para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Cloud en esta pestaña.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
- Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
-
Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
- Puedes solicitar el ID del proyecto con este comando (opcional):
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Arquitectura
En este lab, ayudarás a la clínica veterinaria Pet Theory a convertir automáticamente sus facturas en archivos PDF para que los clientes puedan abrirlas de manera confiable.
Cómo usar las APIs de Google
En este lab, utilizarás las API de Google. Se habilitaron las siguientes API para ti:
Nombre | API |
---|---|
Cloud Build | cloudbuild.googleapis.com |
Cloud Storage | storage-component.googleapis.com |
Cloud Run | run.googleapis.com |
Tarea 1: Obtén el código fuente
Comienza por descargar el código necesario para este lab.
- Activa tu cuenta de lab:
- Ejecuta el siguiente comando para clonar el repositorio de Pet Theory:
- Dirígete al directorio correcto:
Tarea 2: Crea un microservicio de facturas
En esta sección, crearás una aplicación de Go para procesar solicitudes. Como se describe en el diagrama de arquitectura, integrarás Cloud Storage como parte de la solución.
-
Haz clic en el ícono Abrir editor y, luego, haz clic en Abrir en una nueva ventana.
-
Navega a pet-theory > lab03 > server.go
-
Abre el código fuente
server.go
y edítalo para que coincida con el texto a continuación:
- Ahora ejecuta lo siguiente para compilar la aplicación:
Las funciones que llama este código de nivel superior están en archivos fuente:
- server.go
- notification.go
- gcs.go
Una vez que la aplicación se haya compilado correctamente, puedes crear el servicio pdf-conversion.
Tarea 3: Crea un servicio pdf-conversion
El servicio de PDF usará Cloud Run y Cloud Storage para iniciar un proceso cada vez que se suba un archivo al almacenamiento designado.
Para lograr esto, usarás un patrón común de notificaciones de eventos junto con Cloud Pub/Sub. Esto permite que la aplicación se enfoque solo en el procesamiento de la información. El transporte y la transferencia de información los llevan a cabo otros servicios, lo que te permite mantener la simplicidad de la aplicación.
La compilación del módulo de factura requiere la integración de dos componentes:
Si agregas el paquete de LibreOffice, podrás usarlo en tu aplicación.
- En Abrir editor, abre el manifiesto de
Dockerfile
existente y actualiza el archivo como se muestra a continuación:
-
Guarda el
Dockerfile
actualizado. -
Vuelve a compilar la imagen
pdf-converter
con Cloud Build:
Haz clic en Revisar mi progreso para verificar la realización de la tarea indicada arriba.
- Implementa el servicio pdf-converter actualizado.
--memory
.- Ejecuta los siguientes comandos para compilar el contenedor y, luego, implementarlo:
Haz clic en Revisar mi progreso para verificar la realización de la tarea indicada arriba.
El servicio de Cloud Run se implementó correctamente. Sin embargo, implementamos una aplicación que requiere los permisos correctos para acceder a ella.
Tarea 4: Crea una cuenta de servicio
Una cuenta de servicio es un tipo especial de cuenta con acceso a las APIs de Google.
En este lab, se usa una cuenta de servicio para acceder a Cloud Run cuando se procesa un evento de Cloud Storage. Cloud Storage admite un conjunto amplio de notificaciones que se pueden usar para activar eventos.
A continuación, actualiza el código para notificar a la aplicación cuando se suba un archivo.
- Haz clic en Menú de navegación > Cloud Storage y verifica que se hayan creado dos buckets. Deberías ver lo siguiente:
- PROJECT_ID-processed
- PROJECT_ID-upload
- Crea una notificación de Pub/Sub para indicar que se subió un archivo nuevo al bucket de documentos ("subido"). Las notificaciones tendrán la etiqueta del tema "new-doc".
- Crea una cuenta de servicio nueva para activar los servicios de Cloud Run:
- Otórgale permiso a la cuenta de servicio para que invoque al servicio pdf-converter:
- Ejecuta este comando para buscar el número de tu proyecto:
- Ejecuta este comando para permitir que tu proyecto genere tokens de autenticación de Cloud Pub/Sub:
Haz clic en Revisar mi progreso para verificar la realización de la tarea indicada arriba.
Una vez que se creó la cuenta de servicio, puede usarse para invocar el servicio de Cloud Run.
Tarea 5: Prueba el servicio de Cloud Run
Antes de seguir avanzando, prueba el servicio implementado. Recuerda que el servicio requiere autenticación, así que prueba eso para asegurarte de que sea privado.
- Guarda la URL de tu servicio en la variable de entorno $SERVICE_URL:
- Muestra la URL DEL SERVICIO:
- Realiza una solicitud GET anónima a tu servicio nuevo:
La solicitud GET anónima dará como resultado un mensaje de error
"Your client does not have permission to get URL"
.
Este es el comportamiento esperado: no queremos que usuarios anónimos puedan llamar al servicio.
- Ahora intenta invocar al servicio como usuario autorizado:
- Obtendrás la respuesta "Ready to process POST requests from Cloud Storage trigger".
Excelente. Implementaste con éxito un servicio autenticado de Cloud Run.
Tarea 6: Activador de Cloud Storage
Para iniciar una notificación cuando se suba contenido nuevo a Cloud Storage, agrega una suscripción a tu tema de Pub/Sub existente.
-
Crea una suscripción a Pub/Sub para que el conversor de PDF se ejecute cada vez que se publique un mensaje en el tema
new-doc
:gcloud pubsub subscriptions create pdf-conv-sub \ --topic new-doc \ --push-endpoint=$SERVICE_URL \ --push-auth-service-account=pubsub-cloud-run-invoker@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com
Haz clic en Revisar mi progreso para verificar la realización de la tarea indicada arriba.
Ahora siempre que se suba un archivo, la suscripción a Pub/Sub interactuará con tu cuenta de servicio. Luego, la cuenta de servicio iniciará tu servicio pdf-converter de Cloud Run.
Tarea 7: Prueba la notificación de Cloud Storage
Para probar el servicio de Cloud Run, usa los archivos de ejemplo disponibles.
- Copia algunos archivos de prueba en tu bucket de carga:
-
En la consola de Cloud, haz clic en Cloud Storage > Buckets seguido del nombre del bucket cuyo nombre termina en "-upload" y, luego, haz clic en el botón Actualizar varias veces y observa cómo se borran los archivos, uno por uno, a medida que se convierten en archivos PDF.
-
Luego, haz clic en Buckets, seguido del bucket cuyo nombre termina en "-processed". Debería contener las versiones en PDF de todos los archivos. Puedes abrir los archivos PDF para asegurarte de que se hayan convertido correctamente.
-
Una vez que se complete la carga, haz clic en clic Menú de navegación > Cloud Run y, luego, haz clic en el servicio pdf-converter.
-
Selecciona la pestaña REGISTROS y agrega un filtro de “Converting” para ver los archivos convertidos.
-
Navega a Menú de navegación > Cloud Storage y abre el bucket cuyo nombre termina en "-upload" para confirmar que se hayan procesado todos los archivos cargados.
Excelente trabajo. Compilaste correctamente un nuevo servicio para crear un archivo PDF usando archivos cargados a Cloud Storage.
¡Felicitaciones!
El servicio pdf-converter convierte los documentos y los escribe en formato PDF en el bucket "processed". En este lab, aprendiste a realizar las siguientes tareas:
- Convertir una aplicación de Go en un contenedor
- Compilar contenedores con Google Cloud Build
- Crear un servicio de Cloud Run
- Habilitar permisos con una cuenta de servicio
- Usar el procesamiento de eventos de Cloud Storage
Finaliza la Quest
Este lab de autoaprendizaje forma parte de la Quest Google Cloud Run Serverless Workshop. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas esta Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Inscríbete en esta Quest y obtén un crédito inmediato de realización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.
Más información y próximos pasos
- Contenedores sin servidores: Video de Next '19 en YouTube
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Actualización más reciente del manual: 29 de noviembre de 2023
Prueba más reciente del lab: 29 de noviembre de 2023
Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.