Questo tutorial mostra come pianificare una funzione Cloud Run HTTP scegliendo come target un endpoint HTTP in Cloud Scheduler. Utilizza una funzione HTTP quando vuoi che la tua funzione abbia un endpoint URL e risponda alle richieste HTTP, ad esempio per i webhook.
In alternativa, se hai creato una funzione CloudEvents, utilizza i trigger di eventi Eventarc per pianificare la risposta della funzione agli eventi all'interno del progetto. Eventarc può attivare messaggi su un argomento Pub/Sub, modifiche in un bucket Cloud Storage e altro ancora. Per ulteriori informazioni, vedi Tipi di Cloud Run Functions.
La pianificazione dell'esecuzione di una funzione Cloud Run è un caso d'uso comune per Cloud Scheduler. In questo tutorial, imparerai a:
Crea una funzione Cloud Run HTTP
Crea una funzione HTTP attivata da Cloud Scheduler.
Nella console Google Cloud , vai alla pagina Cloud Run.
Fai clic su Scrivi una funzione.
Nella sezione Configura, segui questi passaggi:
- Nel campo Nome servizio, inserisci un nome per la funzione.
- Nell'elenco Regione, seleziona una regione.
- Non modificare la lingua di runtime predefinita.
Per l'autenticazione, seleziona Richiedi autenticazione.
Se sei soggetto a un criterio dell'organizzazione con restrizioni di dominio che limitano le chiamate non autenticate per il tuo progetto, devi accedere al servizio di cui è stato eseguito il deployment come descritto in Testare i servizi privati.
Per ulteriori informazioni, vedi Autenticazione per l'invocazione.
Accetta le altre impostazioni predefinite e fai clic su Crea.
Copia l'URL HTTP della funzione.
Per saperne di più, incluso come eseguire il deployment di una funzione Cloud Run utilizzando Terraform, consulta Eseguire il deployment di una funzione Cloud Run.
Crea un job Cloud Scheduler
Crea un job Cloud Scheduler che attiva un'azione utilizzando HTTP.
Nella Google Cloud console, vai alla pagina Cloud Scheduler.
Fai clic su
Crea job.Inserisci un nome per il job.
Nell'elenco Regione, seleziona una regione.
Specifica la frequenza per il job, utilizzando un formato unix-cron:
30 16 * * 7
Per saperne di più, consulta Formato cron job e fuso orario.
Nell'elenco Fuso orario, seleziona un fuso orario.
Fai clic su Continua.
Nell'elenco Tipo target, seleziona HTTP.
Nel campo URL, inserisci l'URL HTTP della funzione che hai copiato in precedenza.
Nell'elenco Intestazione di autenticazione, seleziona Aggiungi token OIDC.
Nell'elenco Service account, seleziona il account di servizio che hai creato in precedenza.
Nel campo Pubblico, inserisci l'URL HTTP della funzione che hai copiato in precedenza.
Fai clic su Crea.
Hai creato un job cron che esegue la funzione Cloud Run alle 16:30 di domenica.
Esegui il job Cloud Scheduler
Ora puoi eseguire il job che hai creato.
Nella Google Cloud console, vai alla pagina Cloud Scheduler.
Seleziona la casella di controllo relativa al job che hai creato e fai clic su Forza esecuzione.
Quando viene richiamato inizialmente, la configurazione e l'esecuzione del primo job creato in un progetto possono richiedere alcuni minuti.
Dopo l'esecuzione del job, lo Stato dell'ultima esecuzione dovrebbe indicare
Success
.
Verifica i risultati in Cloud Run Functions
Puoi verificare che la funzione Cloud Run venga attivata ed eseguita correttamente dal job cron.
Nella console Google Cloud , vai alla pagina Cloud Run.
Seleziona Filtra servizi > Tipo di deployment > Funzione. In questo modo, l'elenco dei servizi viene filtrato in modo da mostrare solo le funzioni.
Fai clic sul nome della funzione.
Viene visualizzata la pagina Dettagli del servizio, che mostra le metriche del servizio.
Fai clic sulla scheda Log.
Dovresti visualizzare una voce di log simile a
POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME