arrow_back

Cloud Run Functions: Qwik Start - Riga di comando

Accedi Partecipa
Accedi a oltre 700 lab e corsi

Cloud Run Functions: Qwik Start - Riga di comando

Lab 30 minuti universal_currency_alt 1 credito show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

GSP080

Logo dei self-paced lab di Google Cloud

Panoramica

Una funzione Cloud Run è una porzione di codice eseguita in risposta a un evento, come una richiesta HTTP, un messaggio da un servizio di messaggistica o il caricamento di un file. Gli eventi cloud rappresentano le cose che accadono nel tuo ambiente cloud. Possono essere modifiche ai dati di un database, file aggiunti a un sistema di archiviazione o una nuova istanza di macchina virtuale in fase di creazione.

Dato che Cloud Run Functions è basato su eventi, viene eseguito solo quando accade qualcosa. Questo lo rende adatto ad attività che devono essere eseguite rapidamente o che non devono essere sempre in esecuzione.

Ad esempio, puoi utilizzare una funzione Cloud Run per:

  • Generare automaticamente miniature per le immagini caricate su Cloud Storage.
  • Inviare una notifica allo smartphone di un utente quando viene ricevuto un nuovo messaggio in Pub/Sub.
  • Elaborare i dati da un database Cloud Firestore e generare un report.

Puoi scrivere il tuo codice in qualsiasi linguaggio che supporti Node.js ed eseguire il deployment del codice nel cloud con pochi clic. Dopo il deployment, la funzione Cloud Run verrà eseguita automaticamente in risposta agli eventi.

Questo lab pratico spiega come creare, eseguire il deployment e testare una funzione Cloud Run utilizzando la console Google Cloud.

Questo lab pratico spiega come creare, eseguire il deployment e testare una funzione Cloud Run utilizzando la riga di comando di Google Cloud Shell.

In questo lab proverai a:

  • Creare una funzione Cloud Run
  • Eseguire il deployment e testare la funzione Cloud Run
  • Visualizzare i log

Configurazione

Prima di fare clic sul pulsante Avvia lab

Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.

Con questo lab pratico avrai la possibilità di completare le attività in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.

Per completare il lab, avrai bisogno di:

  • Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita conflitti tra il tuo account personale e l'account studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
  • È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'account.

Come avviare il lab e accedere alla console Google Cloud

  1. Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si aprirà una finestra di dialogo per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Il pulsante Apri la console Google Cloud
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).

    Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.

    Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.

    Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
  3. Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.

    {{{user_0.username | "Username"}}}

    Puoi trovare il Nome utente anche nel riquadro Dettagli lab.

  4. Fai clic su Avanti.

  5. Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.

    {{{user_0.password | "Password"}}}

    Puoi trovare la Password anche nel riquadro Dettagli lab.

  6. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  7. Fai clic nelle pagine successive:

    • Accetta i termini e le condizioni.
    • Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
    • Non registrarti per le prove gratuite.

Dopo qualche istante, la console Google Cloud si apre in questa scheda.

Nota: per accedere ai prodotti e ai servizi Google Cloud, fai clic sul menu di navigazione o digita il nome del servizio o del prodotto nel campo Cerca. Icona del menu di navigazione e campo Cerca

Attiva Cloud Shell

Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Fai clic su Attiva Cloud Shell Icona Attiva Cloud Shell nella parte superiore della console Google Cloud.

  2. Fai clic nelle seguenti finestre:

    • Continua nella finestra delle informazioni di Cloud Shell.
    • Autorizza Cloud Shell a utilizzare le tue credenziali per effettuare chiamate API Google Cloud.

Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo Project_ID, . L'output contiene una riga che dichiara il Project_ID per questa sessione:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.

  1. (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
  1. Fai clic su Autorizza.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla guida Panoramica dell'interfaccia a riga di comando gcloud.

Attività 1: crea una funzione

Per prima cosa, devi creare una funzione semplice denominata helloWorld. Questa funzione scrive un messaggio nei log di Cloud Run Functions. Viene attivata da eventi di Cloud Run Functions e accetta una funzione di callback utilizzata per indicare il completamento della funzione.

Per questo lab, l'evento di Cloud Run Functions è un evento di un argomento Pub/Sub. Pub/Sub è un servizio di messaggistica in cui i mittenti dei messaggi vengono disaccoppiati dai destinatari dei messaggi. Quando un messaggio viene inviato o pubblicato, il destinatario deve disporre di una sottoscrizione per ricevere un avviso e il messaggio. Per saperne di più sui messaggi Pub/Sub, vedi Pub/Sub: un servizio di messaggistica su scala Google nelle guide su Pub/Sub.

Per saperne di più sul parametro evento e sul parametro callback, vedi Funzioni in background nella documentazione di Cloud Run Functions.

Per creare una funzione Cloud Run:

  1. Per impostare la regione predefinita, esegui questo comando in Cloud Shell:

    gcloud config set run/region {{{project_0.default_region |REGION}}}
  2. Crea una directory per il codice della funzione:

    mkdir gcf_hello_world && cd $_
  3. Crea e apri il file index.js per effettuare la modifica:

    nano index.js
  4. Copia quanto segue nel file index.js:

    const functions = require('@google-cloud/functions-framework'); // Register a CloudEvent callback with the Functions Framework that will // be executed when the Pub/Sub trigger topic receives a message. functions.cloudEvent('helloPubSub', cloudEvent => { // The Pub/Sub message is passed as the CloudEvent's data payload. const base64name = cloudEvent.data.message.data; const name = base64name ? Buffer.from(base64name, 'base64').toString() : 'World'; console.log(`Hello, ${name}!`); });
  5. Esci da nano (Ctrl+X) e salva (Y) il file.

  6. Crea e apri il file package.json per effettuare la modifica:

  7. Copia quanto segue nel file package.json:

    { "name": "gcf_hello_world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
  8. Esci da nano (Ctrl+X) e salva (Y) il file.

  9. Installa le dipendenze del pacchetto

    npm install

    Output previsto:

    added 140 packages, and audited 141 packages in 9s 27 packages are looking for funding run `npm fund` for details found 0 vulnerabilities

Attività 2: esegui il deployment della funzione

Per questo lab, imposterai --trigger-topic come cf_demo.

Nota:
Cloud Run Functions è basato su eventi, il che significa che è necessario specificare un tipo di trigger. Quando esegui il deployment di una nuova funzione, "--trigger-topic", "--trigger-bucket" o "--trigger-http" sono eventi di trigger comuni. Quando viene eseguito il deployment di un aggiornamento a una funzione esistente, la funzione conserva il trigger esistente se non diversamente specificato.
  1. Esegui il deployment della funzione nodejs-pubsub-function in un argomento Pub/Sub denominato cf-demo

    gcloud functions deploy nodejs-pubsub-function \ --gen2 \ --runtime=nodejs20 \ --region={{{ project_0.default_region | REGION }}} \ --source=. \ --entry-point=helloPubSub \ --trigger-topic cf-demo \ --stage-bucket {{{ project_0.project_id | PROJECT_ID }}}-bucket \ --service-account cloudfunctionsa@{{{ project_0.project_id | PROJECT_ID }}}.iam.gserviceaccount.com \ --allow-unauthenticated Note:
    If you get a service account serviceAccountTokenCreator notification select "n".
  2. Verifica lo stato della funzione:

    gcloud functions describe nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}}

    Lo stato ACTIVE indica che è stato eseguito il deployment della funzione.

    Output previsto:

    BuildConfig: automaticUpdatePolicy: {} build: projects/630521560493/locations/{{{ project_0.default_region | REGION }}}/builds/7ff9d415-50d9-4557-9bcd-5afad42a6390 dockerRegistry: ARTIFACT_REGISTRY dockerRepository: projects/{{{ project_0.project_id | PROJECT_ID }}}/locations/{{{ project_0.default_region | REGION }}}/repositories/gcf-artifacts entryPoint: helloPubSub ... State: ACTIVE ... UpdateTime: '2024-08-05T13:51:05.317298824Z' Url: https://{{{ project_0.default_region | REGION }}}-{{{ project_0.project_id | PROJECT_ID }}}.cloudfunctions.net/nodejs-pubsub-function

Ogni messaggio pubblicato nell'argomento attiva l'esecuzione della funzione; i contenuti dei messaggi vengono passati come dati di input.

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Esegui il deployment della funzione.

Attività 3: testa la funzione

Dopo aver eseguito il deployment della funzione e aver verificato che è attiva, fai un test per assicurarti che la funzione scriva un messaggio nel log cloud dopo aver rilevato un evento.

  1. Richiama Pub/Sub con alcuni dati.

    gcloud pubsub topics publish cf-demo --message="Cloud Function Gen2"

    Output di esempio:

    messageIds: - '11927162971409664'

Visualizza i log per verificare che esistono messaggi di log con quell'ID esecuzione.

Attività 4: visualizza i log

  1. Controlla i log per visualizzare i messaggi nella cronologia dei log:

    gcloud functions logs read nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} Nota:
    I log possono impiegare circa 10 minuti per essere visualizzati. In alternativa, puoi visualizzare i log su Logging > Esplora log.

    La funzione Cloud Run restituirà informazioni simili alle seguenti:

    LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4v6akxf4sxt TIME_UTC: 2024-08-05 15:15:25.723 LOG: Hello, Cloud Function Gen2! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:15:25.711 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4oxfjn7zlyu TIME_UTC: 2024-08-05 15:10:34.303 LOG: Hello, Friend! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:10:34.291 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4fjhyfxua3k TIME_UTC: 2024-08-05 15:03:16.342 LOG: Hello, "SGVsbG8gZnJvbSB0aGUgY29tbWFuZCBsaW5l"!

Il deployment dell'applicazione è stato eseguito, l'applicazione è stata testata e puoi visualizzare i log.

Attività 5: verifica le tue conoscenze

  1. Di seguito, sono riportate alcune domande a scelta multipla che servono a consolidare la tua conoscenza dei concetti di questo lab. Rispondi alle domande al meglio delle tue capacità.

Complimenti!

Hai utilizzato la console Google Cloud per creare, eseguire il deployment e testare una funzione Cloud Run utilizzando la riga di comando.

Segui il prossimo lab

Questo lab fa parte di una serie chiamata Qwik Starts, pensata per offrirti un piccolo assaggio delle diverse funzionalità disponibili in Google Cloud. Cerca "Qwik Starts" nel catalogo dei lab per trovare il prossimo lab da seguire.

Passaggi successivi/Scopri di più

Formazione e certificazione Google Cloud

… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.

Ultimo aggiornamento del manuale: 20 gennaio 2025

Ultimo test del lab: 20 gennaio 2025

Copyright 2025 Google LLC. Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

Questi contenuti non sono al momento disponibili

Ti invieremo una notifica via email quando sarà disponibile

Bene.

Ti contatteremo via email non appena sarà disponibile

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.