Pianificare una funzione Cloud Run basata su eventi

Questo tutorial mostra come attivare una funzione Cloud Run basata sugli eventi utilizzando Cloud Scheduler e scegliendo come target un argomento Pub/Sub. Utilizza una funzione basata su eventi quando la funzione deve essere attivata direttamente in risposta a eventi all'interno del tuo progetto Google Cloud , ad esempio messaggi in un argomento Pub/Sub o modifiche in un bucket Cloud Storage.

Tieni presente che puoi anche pianificare una funzione HTTP scegliendo come target l'endpoint HTTP della funzione. Utilizza una funzione HTTP quando vuoi che la tua funzione abbia un endpoint URL e risponda alle richieste HTTP, ad esempio per i webhook. Per saperne di più, consulta 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:

  1. Crea una semplice funzione Cloud Run che esegue la sottoscrizione a un argomento Pub/Sub.
  2. Crea un job Cloud Scheduler che pubblica un messaggio nell'argomento Pub/Sub.
  3. Esegui il job Cloud Scheduler.
  4. Verifica che la funzione Cloud Run sia stata attivata dal job Cloud Scheduler.

Crea una funzione Cloud Run basata su eventi

Crea una funzione basata sugli eventi che viene attivata direttamente in risposta agli eventi all'interno del tuo progetto Google Cloud ; in questo caso, un messaggio pubblicato in un argomento Pub/Sub.

  1. Nella console Google Cloud , vai alla pagina Cloud Run Functions.

    Vai alle funzioni Cloud Run

  2. Fai clic su Crea funzione.

  3. Nella sezione Nozioni di base, segui questi passaggi:

    1. Nell'elenco Ambiente, seleziona 2ª gen..
    2. Inserisci un nome per la funzione.
    3. Nell'elenco Regione, seleziona una regione.
  4. Nella sezione Trigger, segui questi passaggi:

    1. Nell'elenco Tipo di trigger, seleziona Cloud Pub/Sub.
    2. Nell'elenco Argomento Cloud Pub/Sub, seleziona un argomento esistente o, per crearne uno nuovo, fai clic su Crea un argomento. Prendi nota del nome dell'argomento, in quanto ti servirà in un passaggio successivo.
    3. Fai clic su Altre opzioni.

      Viene visualizzato il riquadro Trigger Eventarc.

  5. Nel riquadro Trigger Eventarc, procedi nel seguente modo:

    1. Se ti viene chiesto di consentire al servizio Pub/Sub di creare i token di identità necessari per richiamare la funzione, fai clic su Concedi.
    2. Nell'elenco Service account, seleziona il account di servizio che hai creato in precedenza.
    3. Accetta gli altri valori predefiniti.
    4. Fai clic su Salva trigger.

      Il riquadro Trigger Eventarc si chiude.

  6. Accetta gli altri valori predefiniti e fai clic su Avanti.

  7. Non modificare la lingua del runtime predefinita e codice campione. Il codice non utilizza servizi cloud e non richiede l'attivazione di autorizzazioni aggiuntive. Fai clic su Esegui il deployment.

Crea un job Cloud Scheduler

Crea un job Cloud Scheduler con una destinazione Pub/Sub.

  1. Nella Google Cloud console, vai alla pagina Cloud Scheduler.

    Vai a Cloud Scheduler

  2. Fai clic su Crea job.

  3. Inserisci un nome per il job.

  4. Nell'elenco Regione, seleziona una regione.

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

  6. Nell'elenco Fuso orario, seleziona un fuso orario.

  7. Fai clic su Continua.

  8. Nell'elenco Tipo target, seleziona Pub/Sub.

  9. Seleziona l'argomento Pub/Sub che hai creato in precedenza.

  10. Nel campo Corpo del messaggio, inserisci una stringa da inviare all'argomento Pub/Sub target. Ad esempio: "Hello world!"

  11. Fai clic su Crea.

Hai creato un cron job che invia un messaggio all'argomento Pub/Sub alle 16:30 di domenica. La tua funzione Cloud Run è iscritta a questo argomento.

Esegui il job Cloud Scheduler

Ora puoi eseguire il job che hai creato.

  1. Nella Google Cloud console, vai alla pagina Cloud Scheduler.

    Vai a Cloud Scheduler

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

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

  1. Nella console Google Cloud , vai alla pagina Cloud Run Functions.

    Vai alle funzioni Cloud Run

  2. Fai clic sul nome della funzione.

    Si apre la pagina Dettagli funzione e il grafico Chiamate/secondo mostra la prima chiamata della funzione.

  3. Fai clic sulla scheda Log.

    Dovresti visualizzare una voce di log simile a Hello, YOUR_STRING!