Checkpoint
Deploy the function
/ 100
Cloud Functions: Qwik Start - Riga di comando
GSP080
Panoramica
Una funzione Cloud Functions è 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 le funzioni Cloud Functions sono basate su eventi, vengono eseguite solo quando accade qualcosa. Questo le rende adatte ad attività che devono essere eseguite rapidamente o che non devono essere sempre in esecuzione.
Ad esempio, puoi utilizzare una funzione Cloud Functions 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 Cloud 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 Functions verrà eseguita automaticamente in risposta agli eventi.
Questo lab pratico spiega come creare, eseguire il deployment e testare una funzione Cloud Functions utilizzando la console Google Cloud.
Questo lab pratico spiega come creare, eseguire il deployment e testare una funzione Cloud Functions utilizzando la riga di comando di Google Cloud Shell.
In questo lab proverai a:
- Creare una funzione Cloud Functions
- Eseguire il deployment e il test della funzione Cloud Functions
- 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 Avvia 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 prima persona, 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).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Come avviare il lab e accedere alla console Google Cloud
-
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Il pulsante Apri console Google Cloud
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
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. -
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.
-
Fai clic su Avanti.
-
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.
-
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. -
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.
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.
- Fai clic su Attiva Cloud Shell nella parte superiore della console 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:
gcloud
è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.
- (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
-
Fai clic su Autorizza.
-
L'output dovrebbe avere ora il seguente aspetto:
Output:
- (Facoltativo) Puoi elencare l'ID progetto con questo comando:
Output:
Output di esempio:
gcloud
, in Google Cloud, fai riferimento alla 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 Functions. Viene attivata da eventi di funzioni Cloud Functions e accetta una funzione di callback utilizzata per indicare il completamento della funzione.
Per questo lab, l'evento di funzioni Cloud Functions è un evento di un argomento Cloud 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ù su Pub/Sub, vedi Google Cloud Pub/Sub: un servizio di messaggistica su scala Google nelle guide su Cloud Pub/Sub.
Per saperne di più sul parametro evento e sul parametro callback, vedi Funzioni in background nella documentazione di Cloud Functions.
Per creare una funzione Cloud Functions:
-
Per impostare la regione predefinita, esegui questo comando in Cloud Shell:
gcloud config set run/region {{{project_0.default_region |REGION}}} -
Crea una directory per il codice della funzione:
mkdir gcf_hello_world && cd $_ -
Crea e apri il file
index.js
per effettuare la modifica:nano index.js -
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}!`); }); -
Esci da nano (Ctrl+X) e salva (Y) il file.
-
Crea e apri il file
package.json
per effettuare la modifica: -
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" } } -
Esci da nano (Ctrl+X) e salva (Y) il file.
-
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
.
Le funzioni Cloud Functions sono basate 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.
-
Esegui il deployment della funzione helloPubSub 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 Nota:
Se ricevi una notifica relativa al service account serviceAccountTokenCreator, seleziona "n". -
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.
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 sul cloud dopo aver rilevato un evento.
-
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
-
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 Functions 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
-
Di seguito, sono riportate alcune domande a scelta multipla che servono a consolidare le tue conoscenze relative ai 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 Functions 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ù
- Ora che hai utilizzato la riga di comando per avviare una funzione Cloud Functions, prova il lab Cloud Functions: Qwik Start - Console per avviare una funzione Cloud Functions utilizzando la console Cloud.
- Per saperne di più sulla creazione dei trigger e su come associarli alle funzioni, vedi la sezione relativa a eventi e trigger delle guide su Cloud Functions.
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: 5 agosto 2024
Ultimo test del lab: 5 agosto 2024
Copyright 2024 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.