arrow_back

Cloud Functions: Qwik Start - Línea de comandos

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Functions: Qwik Start - Línea de comandos

Lab 30 minutos universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP080

Labs de autoaprendizaje de Google Cloud

Descripción general

Una Cloud Function es un fragmento de código que se ejecuta en respuesta a un evento, como una solicitud HTTP, un mensaje desde un servicio de mensajería o la carga de un archivo. Los eventos de la nube representan todo lo que ocurre en tu entorno de nube. Pueden ser cambios en la información de la base de datos, la adición de archivos a un sistema de almacenamiento o la creación de una nueva instancia de máquina virtual.

Debido a que las Cloud Functions se basan en eventos, solo se ejecutan cuando ocurre una acción. Esto las convierte en una buena opción para las tareas que necesitan realizarse rápido o que no es necesario que se ejecuten todo el tiempo.

Por ejemplo, puedes usar una Cloud Function para realizar las siguientes tareas:

  • Generar automáticamente miniaturas para imágenes que se suben a Cloud Storage
  • Enviar una notificación al teléfono de un usuario cuando se recibe un nuevo mensaje en Cloud Pub/Sub
  • Procesar datos de una base de datos de Cloud Firestore y generar un informe

Puedes escribir tu código en cualquier lenguaje que admita Node.js y puedes implementar tu código en la nube con pocos clics. Cuando se implemente tu Cloud Function, se comenzará a ejecutar automáticamente en respuesta a eventos.

En este lab práctico, aprenderás a crear, implementar y probar una Cloud Function con la consola de Google Cloud.

En este lab práctico, aprenderás a usar la línea de comandos de Google Cloud Shell para crear, implementar y probar una Cloud Function.

Actividades

  • Crear una Cloud Function simple
  • Implementar y probar la función
  • Visualizar registros

Configuración

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)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. 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
  2. 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.
  3. 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.

  4. 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.
  5. 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.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

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.

  1. Haz clic en Activar Cloud Shell Ícono de 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:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

  2. Ahora, el resultado debería verse de la siguiente manera:

Resultado:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = <project_ID>

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: Para obtener toda la documentación de gcloud, consulta la guía con la descripción general de gcloud CLI en Google Cloud.

Tarea 1: Crea una función

Lo primero que harás será crear una función simple llamada helloWorld. Con esta función, se escribirá un mensaje en los registros de Cloud Functions. Se activa con los eventos de la Cloud Function y acepta una función de devolución de llamada que indica el final de la función.

En este lab, el evento de la Cloud Function es un evento de tema de Cloud Pub/Sub. Pub/Sub es un servicio de mensajería en el que los remitentes están separados de los destinatarios. Cuando se envía o publica un mensaje, se requiere una suscripción para que el receptor reciba una alerta y obtenga el mensaje. Para obtener información sobre Pub/Sub, en las guías de Cloud Pub/Sub, consulta Pub/Sub: un servicio de mensajería a escala de Google.

Para obtener más información sobre el parámetro de evento y de devolución de llamada, en la documentación de Cloud Functions, consulta Funciones en segundo plano.

Para crear una Cloud Function, sigue estos pasos:

  1. En Cloud Shell, ejecuta el siguiente comando para establecer la región predeterminada:
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. Crea un directorio para el código de la función:
mkdir gcf_hello_world
  1. Ve al directorio gcf_hello_world:
cd gcf_hello_world
  1. Crea el archivo index.js y ábrelo para editarlo:
nano index.js
  1. Copia lo siguiente en el archivo index.js:
/** * Background Cloud Function to be triggered by Pub/Sub. * This function is exported by index.js, and executed when * the trigger topic receives a message. * * @param {object} data The event payload. * @param {object} context The event metadata. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. Sal de nano (Ctrl + x) y guarda (Y) el archivo.

Tarea 2: Crea un bucket de Cloud Storage

  • Usa el siguiente comando para crear un nuevo bucket de Cloud Storage para tu función:
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]
  • PROJECT_ID es el ID del proyecto ubicado en el panel Detalles del lab que está a la izquierda de este lab:

  • BUCKET_NAME es el nombre que le asignas al bucket. Puedes usar el ID del proyecto como nombre del bucket para garantizar que el nombre sea único a nivel global:

Para obtener más información sobre nombres de buckets, en la documentación de Cloud Storage consulta los Lineamientos sobre los nombres de buckets.

Prueba la tarea completada

Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste correctamente, se te otorgará una puntuación de evaluación.

Crear un bucket de Cloud Storage

Tarea 3: Implementa tu función

Cuando se implementa una función nueva, es necesario especificar --trigger-topic, --trigger-bucket o --trigger-http. Cuando se implementa una actualización de una función existente, se mantiene el activador actual de la función, a menos que se indique lo contrario.

En este lab, ingresarás hello_world como --trigger-topic.

  1. Implementa la función en un tema de Pub/Sub denominado hello_world y reemplaza [BUCKET_NAME] por el nombre de tu bucket:
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Nota: Si se muestra el error OperationError, ignora la advertencia y vuelve a ejecutar el comando.

Si se te pregunta, ingresa Y para permitir invocaciones no autenticadas de una nueva función.

  1. Verifica el estado de la función:
gcloud functions describe helloWorld

El estado ACTIVE indica que se implementó la función.

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

Todos los mensajes publicados en el tema activan la ejecución de la función; el contenido de los mensajes pasa como datos de entrada.

Prueba la tarea completada

Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste correctamente, recibirás una puntuación de evaluación.

Implementar la función

Tarea 4: Prueba la función

Luego de implementar la función y comprobar que se encuentra activa, prueba que esta pueda escribir un mensaje en el registro de la nube después de detectar un evento.

  • Ingresa este comando para crear un mensaje de prueba para la función:
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

La herramienta de nube devolverá el ID de ejecución de la función, lo que indica que se escribió un mensaje en el registro.

Resultado de ejemplo:

executionId: 3zmhpf7l6j5b

Consulta los registros para confirmar que haya mensajes de registro con ese ID de ejecución.

Tarea 5: Visualiza los registros

  • Revisa los registros para ver tus mensajes en el historial:
gcloud functions logs read helloWorld

Si la función se ejecutó correctamente, los mensajes del registro aparecen de la siguiente manera:

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Nota: Los registros tardarán alrededor de 10 minutos en aparecer. Además, la forma alternativa de ver los registros es en Registro > Explorador de registros.

Se implementó y probó tu aplicación, y ahora puedes ver los registros.

Tarea 6: Pon a prueba tus conocimientos

A continuación, se presentan algunas preguntas de opción múltiple para reforzar tus conocimientos de los conceptos de este lab. Trata de responderlas lo mejor posible.

¡Felicitaciones!

Finaliza tu Quest

Este lab de autoaprendizaje forma parte de las Quests Baseline: Deploy & Develop, Baseline: Infrastructure y Optimizing your Google Cloud Costs. 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 cualquier Quest que contenga este lab y obtén un crédito inmediato de finalización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.

Realiza tu próximo lab

Este lab también forma parte de una serie de labs denominada Qwik Starts. Estos labs están diseñados para ofrecerte una visión general de las numerosas funciones disponibles en Google Cloud. Busca “Qwik Starts” en el catálogo de labs para elegir el siguiente lab en el que desees participar.

Próximos pasos y más información

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.

Última actualización del manual: 10 de agosto de 2023

Prueba más reciente del lab: 10 de agosto 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.