GSP095

Panoramica
Pub/Sub è un servizio di messaggistica per lo scambio di dati sugli eventi tra applicazioni e servizi. Disaccoppiando mittenti e destinatari, consente la comunicazione sicura ad alta affidabilità tra applicazioni scritte in modo indipendente. Pub/Sub offre una messaggistica duratura a bassa latenza e viene comunemente impiegato dagli sviluppatori per implementare flussi di lavoro asincroni, distribuire notifiche di eventi e trasmettere dati relativi a processi o dispositivi diversi.
Obiettivi didattici
In questo lab imparerai a:
- Creare, eliminare ed elencare argomenti e sottoscrizioni Pub/Sub.
- Pubblicare messaggi in un argomento.
- Utilizzare un sottoscrittore di tipo pull
Prerequisiti
Si tratta di un lab di livello base che presuppone un'esperienza minima o nulla con Pub/Sub e fornisce le basi per configurare e utilizzare questo servizio Google Cloud.
Configurazione e requisiti
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
-
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
-
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.
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.
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.
-
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.
- (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
- Fai clic su Autorizza.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (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.
Nozioni di base su Pub/Sub
Come già detto in precedenza, Pub/Sub è un servizio di messaggistica asincrono globale. In Pub/Sub ricorrono spesso tre termini: topics
, publishing
e subscribing
.
-
Un topic
è una stringa condivisa che consente alle applicazioni di connettersi tra loro tramite un thread comune.
-
I publisher eseguono il push (publish
) di un messaggio in un argomento di Cloud Pub/Sub.
-
I sottoscrittori creano quindi una subscription
a un argomento, in cui potranno eseguire il pull dei messaggi dalla sottoscrizione o configurare webhook per le sottoscrizioni di tipo push. Ogni sottoscrittore deve inviare un ACK per ciascun messaggio entro una specifica tempistica configurabile.
Riepilogando, un producer pubblica messaggi in un argomento e un consumer crea una sottoscrizione a un argomento per riceverne i messaggi.
Attività 1: argomenti Pub/Sub
Pub/Sub è preinstallato in Cloud Shell, pertanto non sono necessarie installazioni o configurazioni per iniziare a utilizzare questo servizio.
- Per creare un argomento denominato
myTopic
, esegui questo comando:
gcloud pubsub topics create myTopic
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 argomento Pub/Sub.
- Per sicurezza, crea altri due argomenti,
Test1
e Test2
:
gcloud pubsub topics create Test1
gcloud pubsub topics create Test2
- Per visualizzare i tre argomenti appena creati, esegui questo comando:
gcloud pubsub topics list
L'output dovrebbe essere simile al seguente:
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/myTopic
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/Test1
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/Test2
- È il momento di eseguire la pulizia. Elimina
Test1
e Test2
con i seguenti comandi:
gcloud pubsub topics delete Test1
gcloud pubsub topics delete Test2
- Esegui il comando
gcloud pubsub topics list
ancora una volta per verificare che gli argomenti siano stati eliminati:
gcloud pubsub topics list
Dovrebbe essere visualizzato il seguente output:
---
name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic
Attività 2: sottoscrizioni Pub/Sub
Ora che sai come creare, visualizzare ed eliminare gli argomenti, è il momento di passare alle sottoscrizioni.
- Esegui questo comando per creare una sottoscrizione denominata
mySubscription
all'argomento myTopic
:
gcloud pubsub subscriptions create --topic myTopic mySubscription
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 sottoscrizione Pub/Sub.
- Aggiungi altre due sottoscrizioni all'argomento
myTopic
. Esegui i comandi indicati per creare le sottoscrizioni Test1
e Test2
:
gcloud pubsub subscriptions create --topic myTopic Test1
gcloud pubsub subscriptions create --topic myTopic Test2
- Per visualizzare l'elenco delle sottoscrizioni in myTopic, esegui questo comando:
gcloud pubsub topics list-subscriptions myTopic
L'output dovrebbe essere simile al seguente:
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test2
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test1
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription
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à.
- Ora elimina le sottoscrizioni
Test1
e Test2
. Esegui questi comandi:
gcloud pubsub subscriptions delete Test1
gcloud pubsub subscriptions delete Test2
- Verifica che le sottoscrizioni
Test1
e Test2
siano state eliminate. Esegui il comando list-subscriptions
ancora una volta:
gcloud pubsub topics list-subscriptions myTopic
Dovrebbe essere visualizzato il seguente output:
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription
Attività 3: pubblica un messaggio singolo in Pub/Sub ed eseguine il pull
Ora imparerai come pubblicare un messaggio in un argomento Pub/Sub.
- Per pubblicare il messaggio
"hello"
nell'argomento creato in precedenza (myTopic
), esegui questo comando:
gcloud pubsub topics publish myTopic --message "Hello"
- Pubblica qualche altro messaggio in
myTopic
. Esegui i comandi indicati (sostituendo <YOUR NAME>
con il tuo nome e <FOOD>
con un piatto che ti piace):
gcloud pubsub topics publish myTopic --message "Publisher's name is <YOUR NAME>"
gcloud pubsub topics publish myTopic --message "Publisher likes to eat <FOOD>"
gcloud pubsub topics publish myTopic --message "Publisher thinks Pub/Sub is awesome"
Quindi, utilizza il comando pull
per estrarre i messaggi dal tuo argomento. Il comando pull è basato sulla sottoscrizione, vale a dire che dovrebbe funzionare perché in precedenza hai configurato la sottoscrizione mySubscription
per l'argomento myTopic
.
- Per eseguire il pull dei messaggi appena pubblicati dall'argomento Pub/Sub, esegui questo comando:
gcloud pubsub subscriptions pull mySubscription --auto-ack
L'output dovrebbe essere simile al seguente:

Che succede qui? Hai pubblicato quattro messaggi ma ne è stato estratto solo uno.
È arrivato il momento di parlare di un paio di funzionalità del comando pull
che spesso mettono in difficoltà gli sviluppatori:
- Utilizzando il comando pull senza alcun flag viene restituito un solo messaggio, anche se hai effettuato la sottoscrizione a un argomento che ne contiene di più.
- Dopo aver estratto un singolo messaggio da un determinato comando pull basato su sottoscrizione, non puoi accedere di nuovo a quel messaggio tramite il comando pull.
-
Per comprendere il significato del secondo punto dell'elenco, esegui l'ultimo comando altre tre volte. Vedrai che restituirà gli altri messaggi pubblicati in precedenza.
-
Ora esegui il comando una quarta volta. Verrà restituito il seguente output (poiché non ci sono altri messaggi da restituire):
gcpstaging20394_student@cloudshell:~ (qwiklabs-gcp-3450558d2b043890)$ gcloud pubsub subscriptions pull mySubscription --auto-ack
Listed 0 items.
Nell'ultima sezione apprenderai come eseguire il pull di più messaggi da un argomento con un flag
.
Attività 4: esegui il pull di tutti i messaggi delle sottoscrizioni in Pub/Sub
Poiché hai eseguito il pull di tutti i messaggi del tuo argomento nell'ultimo esempio, aggiungi qualche altro messaggio in myTopic
.
- Esegui questi comandi:
gcloud pubsub topics publish myTopic --message "Publisher is starting to get the hang of Pub/Sub"
gcloud pubsub topics publish myTopic --message "Publisher wonders if all messages will be pulled"
gcloud pubsub topics publish myTopic --message "Publisher will have to test to find out"
- Aggiungi un
flag
al comando in modo che vengano restituiti tutti e tre i messaggi tramite una sola richiesta.
Potresti non averlo notato, ma in realtà hai utilizzato un flag per tutto questo tempo: la porzione --auto-ack
del comando pull
è un flag che ha formattato i messaggi nelle caselle ordinate dove sono visibili i messaggi di cui è stato eseguito il pull.
limit
è un altro flag che imposta un limite massimo per il numero di messaggi di cui eseguire il pull.
- Attendi un minuto per la creazione degli argomenti. Esegui il comando pull con il flag
limit
:
gcloud pubsub subscriptions pull mySubscription --limit=3
L'output dovrebbe corrispondere al seguente:

Ora che hai imparato come aggiungere flag a un comando Pub/Sub per restituire un numero maggiore di messaggi, sei sulla buona strada per padroneggiare al meglio Pub/Sub.
Complimenti!
In questo lab hai appreso i principi di base su argomenti, sottoscrizioni, comando pull e flag di Pub/Sub.
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.
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 marzo 2025
Ultimo test del lab: 10 marzo 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.