Programa una función de HTTP de Cloud Run

En este instructivo, se muestra cómo programar una función de Cloud Run HTTP segmentando un extremo HTTP en Cloud Scheduler. Usa una función HTTP cuando necesites que tu función tenga un extremo de URL y responda a solicitudes HTTP, como para webhooks.

Como alternativa, si creaste una función de CloudEvents, usa activadores de eventos de Eventarc para programar tu función de modo que responda a los eventos dentro de tu proyecto. Eventarc puede activar mensajes en un tema de Pub/Sub, cambios en un bucket de Cloud Storage y mucho más. 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:

  1. Crea una función HTTP simple de Cloud Run.
  2. Crea un trabajo de Cloud Scheduler.
  3. Ejecuta el trabajo de Cloud Scheduler.
  4. Verifica que el trabajo de Cloud Scheduler active tu función de Cloud Run.

Crea una función HTTP de Cloud Run

Crea una función HTTP que se active con Cloud Scheduler.

  1. En la consola de Google Cloud , ve a la página Cloud Run.

    Ir a Cloud Run

  2. Haz clic en Escribe una función.

  3. En la sección Configurar, haz lo siguiente:

    1. En el campo Nombre del servicio, ingresa un nombre para tu función.
    2. En la lista Región, selecciona una región.
    3. No modifiques el idioma de ejecución predeterminado.
    4. Para la autenticación, selecciona Solicitar autenticación.

      Si estás bajo una política de la organización de restricción de dominios que restringe las invocaciones no autenticadas para tu proyecto, deberás acceder al servicio implementado como se describe en Prueba servicios privados.

      Para obtener más información, consulta Autentica para la invocación.

  4. Acepta los otros valores predeterminados y haz clic en Crear.

  5. Copia la URL de HTTP de la función.

Para obtener más información, incluido cómo implementar una función de Cloud Run Functions con Terraform, consulta Cómo implementar una función de Cloud Run Functions.

Crea un trabajo de Cloud Scheduler

Crea un trabajo de Cloud Scheduler que active una acción con HTTP.

  1. En la consola Google Cloud , ve a la página Cloud Scheduler.

    Ir a Cloud Scheduler

  2. Haz clic en Crear trabajo.

  3. Ingresa un nombre para tu trabajo.

  4. En la lista Región, selecciona una región.

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

  6. En la lista Zona horaria, selecciona una zona horaria.

  7. Haz clic en Continuar.

  8. En la lista Tipo de destino, selecciona HTTP.

  9. En el campo URL, ingresa la URL HTTP de la función que copiaste anteriormente.

  10. En la lista Encabezado de autenticación, selecciona Agregar token de OIDC.

  11. En la lista Cuenta de servicio, selecciona la cuenta de servicio que creaste anteriormente.

  12. En el campo Público, ingresa la URL HTTP de la función que copiaste anteriormente.

  13. Haz clic en Crear.

Creaste un trabajo cron que ejecuta tu función de Cloud Run a las 16:30 los domingos.

Ejecuta tu trabajo de Cloud Scheduler

Ahora puedes ejecutar el trabajo que creaste.

  1. En la consola Google Cloud , ve a la página de Cloud Scheduler.

    Ir a Cloud Scheduler

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

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

  1. En la consola de Google Cloud , ve a la página Cloud Run.

    Ir a Cloud Run

  2. Selecciona Filtrar servicios > Tipo de Deployment > Función. Esto filtra la lista de servicios para mostrar solo las funciones.

  3. Haz clic en el nombre de la función.

    Se abrirá la página Detalles del servicio, en la que se muestran las métricas del servicio.

  4. Haz clic en la pestaña Registros.

    Deberías ver una entrada de registro similar a la siguiente: POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME