arrow_back

Cloud Functions: Qwik Start - Riga di comando

Partecipa Accedi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Functions: Qwik Start - Riga di comando

Lab 30 minuti universal_currency_alt 1 credito show_chart Introduttivi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP080

Laboratori autogestiti Google Cloud

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 sono 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 a partire da 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 e puoi eseguire il deployment del codice nel cloud in pochi clic. Una volta eseguito il deployment della funzione Cloud Functions, questa 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.

Attività previste

  • Creare una funzione Cloud Functions semplice
  • Eseguire il deployment della funzione e testarla
  • 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).
Nota: utilizza una finestra del browser in incognito o privata per eseguire questo lab. Ciò evita eventuali 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: se hai già un account o un progetto Google Cloud personale, non utilizzarlo per questo lab per evitare addebiti aggiuntivi al tuo 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 apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Pulsante Apri console Google
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google. 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.

    Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account.
  3. Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.

  4. Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  5. 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: puoi visualizzare il menu con un elenco di prodotti e servizi Google Cloud facendo clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

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.

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

  2. L'output dovrebbe avere ora il seguente aspetto:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net 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_ID>

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: per la documentazione completa di 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 argomento Cloud Pub/Sub. Un 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, è necessario che il destinatario abbia un abbonamento per poter visualizzare l'avviso e ricevere il messaggio. Per saperne di più sui Pub/Sub, nelle guide su Cloud Pub/Sub, vedi Google Cloud Pub/Sub: un servizio di messaggistica su scala Google.

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

Per creare una funzione Cloud Functions:

  1. Esegui questo comando in Cloud Shell per impostare la regione predefinita:
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. Crea una directory per il codice della funzione:
mkdir gcf_hello_world
  1. Passa alla directory gcf_hello_world:
cd gcf_hello_world
  1. Crea e apri il file index.js per effettuare la modifica:
nano index.js
  1. Copia quanto segue nel file index.js:
/** * Background Cloud Function to be triggered by Pub/Sub. * This function is exported by index.js, and executed when * the trigger topic receives a message. * * @param {object} data The event payload. * @param {object} context The event metadata. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. Esci da nano (CTRL+X) e salva (Y) il file.

Attività 2: crea un bucket Cloud Storage

  • Utilizza questo comando per creare un nuovo bucket Cloud Storage per la funzione:
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]
  • PROJECT_ID è l'ID progetto nel riquadro Dettagli lab a sinistra di questo lab:

  • BUCKET_NAME è il nome che assegni al bucket. Puoi utilizzare l'ID progetto come nome del bucket così da assegnare un nome univoco globale:

Per scoprire di più sull'assegnazione dei nomi ai bucket, nella documentazione di Cloud Storage, vedi le Linee guida per la denominazione dei bucket.

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.

Crea un bucket Cloud Storage.

Attività 3: esegui il deployment della funzione

Quando esegui il deployment di una nuova funzione, devi specificare --trigger-topic, --trigger-bucket o --trigger-http. Quando viene eseguito il deployment di un aggiornamento a una funzione esistente, la funzione conserva il trigger esistente se non diversamente specificato.

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

  1. Esegui il deployment della funzione in un argomento Pub/Sub denominato hello_world, sostituendo [BUCKET_NAME] con il nome del tuo bucket:
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Nota: se ricevi un avviso di tipo OperationError, ignoralo ed esegui di nuovo il comando.

Se richiesto, inserisci Y per consentire le chiamate non autenticate di una nuova funzione.

  1. Verifica lo stato della funzione:
gcloud functions describe helloWorld

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

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

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à 4: 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 al log sul cloud dopo aver rilevato un evento.

  • Inserisci questo comando per creare un test della funzione:
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

Lo strumento sul cloud restituisce l'ID esecuzione per la funzione e questo indica che è stato scritto un messaggio nel log.

Output di esempio:

executionId: 3zmhpf7l6j5b

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

Attività 5: visualizza i log

  • Controlla i log per visualizzare i messaggi nella cronologia dei log:
gcloud functions logs read helloWorld

Se la funzione è stata eseguita correttamente, i messaggi nel log sono visualizzati come segue:

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Nota: i log impiegheranno circa 10 minuti per essere visualizzati. Inoltre, un altro modo per visualizzare i log è andare su Logging > Esplora log.

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

Attività 6: 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!

Completa la Quest

Questo self-paced lab fa parte delle Quest Baseline: Deploy & Develop, Baseline: Infrastructure e Optimizing your Google Cloud Costs. Una Quest è una serie di lab collegati tra loro che formano un percorso di apprendimento. Il completamento della Quest ti permette di ottenere un badge come riconoscimento dell'obiettivo raggiunto. Puoi rendere pubblici i tuoi badge inserendone i link nel tuo CV online o sui social media. Iscriviti a una delle Quest contenenti il lab e ricevi subito un riconoscimento per averlo completato. Per vedere tutte le Quest disponibili, consulta il catalogo di Google Cloud Skills Boost.

Segui il prossimo lab

Questo lab fa anche parte di una serie di lab 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: 10 agosto 2023

Ultimo test del lab: 10 agosto 2023

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.