En este instructivo, se muestra cómo activar una función de Cloud Run controlada por eventos con Cloud Scheduler y segmentando un tema de Pub/Sub. Usa una función controlada por eventos cuando la función se deba activar directamente en respuesta a eventos dentro de tu proyecto Google Cloud , como mensajes en un tema de Pub/Sub o cambios en un bucket de Cloud Storage.
Ten en cuenta que también puedes programar una función de HTTP si segmentas tu función para que se dirija al extremo HTTP. Usa una función HTTP cuando necesites que tu función tenga un extremo de URL y responda a solicitudes HTTP, como para webhooks. Para obtener más información, consulta Tipos de Cloud Run Functions.
La programación de la ejecución de una función de Cloud Run es un caso de uso común de Cloud Scheduler. En este instructivo, podrás:
- Crea una función simple de Cloud Run que se suscriba a un tema de Pub/Sub.
- Crea un trabajo de Cloud Scheduler que publique un mensaje en el tema de Pub/Sub.
- Ejecutar el trabajo de Cloud Scheduler
- Verifica que el trabajo de Cloud Scheduler haya activado la función de Cloud Run.
Crea una función de Cloud Run controlada por eventos
Crea una función controlada por eventos que se active directamente en respuesta a eventos dentro de tu proyecto de Google Cloud . En este caso, un mensaje publicado en un tema de Pub/Sub.
En la consola de Google Cloud , ve a la página de Cloud Run functions.
Haz clic en
Crear función.En la sección Básicos, haz lo siguiente:
- En la lista Entorno, selecciona 2ª gen..
- Ingresa un nombre para tu función.
- En la lista Región, selecciona una región.
En la sección Activador, haz lo siguiente:
- En la lista Tipo de activador, selecciona Cloud Pub/Sub.
- En la lista Tema de Cloud Pub/Sub, selecciona un tema existente o, para crear uno nuevo, haz clic en Crear un tema. Anota el nombre del tema, ya que lo necesitarás en un paso posterior.
Haz clic en Más opciones.
Se abrirá el panel Activador de Eventarc.
En el panel Activador de Eventarc, haz lo siguiente:
- Si se te solicita que permitas que el servicio de Pub/Sub cree los tokens de identidad que necesita para invocar la función, haz clic en Otorgar.
- En la lista Cuenta de servicio, selecciona la cuenta de servicio que creaste anteriormente.
- Acepta los otros valores predeterminados.
Haz clic en Guardar activador.
Se cerrará el panel Activador de Eventarc.
Acepta los otros valores predeterminados y haz clic en Siguiente.
No modifiques el idioma de ejecución predeterminado ni el código de muestra. El código no usa ningún servicio en la nube y no necesita permisos adicionales habilitados. Haz clic en Implementar.
Crea un trabajo de Cloud Scheduler
Crea un trabajo de Cloud Scheduler con un destino de Pub/Sub.
En la consola Google Cloud , ve a la página Cloud Scheduler.
Haz clic en
Crear trabajo.Ingresa un nombre para tu trabajo.
En la lista Región, selecciona una región.
Especifica la frecuencia de tu trabajo usando un formato unix-cron:
30 16 * * 7
Para obtener más información, consulta Formato de trabajo cron y zona horaria.
En la lista Zona horaria, selecciona una zona horaria.
Haz clic en Continuar.
En la lista Tipo de destino, selecciona Pub/Sub.
Selecciona el tema de Pub/Sub que creaste anteriormente.
En el campo Cuerpo del mensaje, ingresa una cadena que se enviará al tema de destino de Pub/Sub. Por ejemplo: “¡Hola mundo!”
Haz clic en Crear.
Creaste un trabajo cron que envía un mensaje a tu tema de Pub/Sub a las 16:30 los domingos. Tu función de Cloud Run está suscrita a ese tema.
Ejecuta tu trabajo de Cloud Scheduler
Ahora puedes ejecutar el trabajo que creaste.
En la consola Google Cloud , ve a la página de Cloud Scheduler.
Selecciona la casilla de verificación del trabajo que creaste y haz clic en Forzar ejecución.
Cuando se invoca inicialmente, el primer trabajo creado en un proyecto puede tardar unos minutos en configurarse y ejecutarse.
Después de que se ejecute el trabajo, el Estado de la última ejecución debería indicar
Success
.
Verifica los resultados en Cloud Run Functions
Puedes verificar que tu trabajo cron haya activado y ejecutado correctamente tu función de Cloud Run.
En la consola de Google Cloud , ve a la página de Cloud Run functions.
Haz clic en el nombre de la función.
Se abrirá la página Detalles de la función y el gráfico Invocaciones por segundo mostrará tu primera invocación de la función.
Haz clic en la pestaña Registros.
Deberías ver una entrada de registro similar a
Hello, YOUR_STRING!
.