arrow_back

Google Cloud Pub/Sub: Qwik Start - Python

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

Google Cloud Pub/Sub: Qwik Start - Python

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

GSP094

Laboratori autogestiti Google Cloud

Panoramica

Il servizio Google Cloud Pub/Sub consente alle applicazioni di scambiare messaggi in modo affidabile, rapido e asincrono. A questo scopo, un publisher pubblica messaggi in un argomento Cloud Pub/Sub. Un client sottoscrittore crea quindi una sottoscrizione all'argomento e utilizza i messaggi della sottoscrizione. Cloud Pub/Sub conserva per un massimo di sette giorni i messaggi che non è stato possibile recapitare in modo affidabile.

In questo lab scoprirai come iniziare a pubblicare messaggi con Cloud Pub/Sub utilizzando la libreria client Python.

Attività previste

In questo lab svolgerai le seguenti attività:

  • Apprendere le nozioni di base di Pub/Sub.
  • Creare ed elencare un argomento di Pub/Sub.
  • Creare ed elencare una sottoscrizione Pub/Sub.
  • Pubblicare messaggi in un argomento.
  • Utilizzare un sottoscrittore di tipo pull per inviare singoli messaggi all'argomento.

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 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 un ambiente virtuale

Gli ambienti virtuali Python vengono utilizzati per isolare l'installazione dei pacchetti dal sistema.

  1. Installa l'ambiente virtualenv:
sudo apt-get install -y virtualenv
  1. Crea l'ambiente virtuale:
python3 -m venv venv
  1. Attiva l'ambiente virtuale:
source venv/bin/activate

Attività 2: installa la libreria client

  1. Esegui questo comando per installare la libreria client:
pip install --upgrade google-cloud-pubsub
  1. Recupera il codice campione clonando un repository GitHub:
git clone https://github.com/googleapis/python-pubsub.git
  1. Vai alla directory:
cd python-pubsub/samples/snippets

Attività 3: nozioni di base di Pub/Sub

Google Cloud Pub/Sub è un servizio di messaggistica globale asincrono. In Pub/Sub ricorrono spesso tre termini: argomento, pubblicare e sottoscrivere.

Un argomento è una stringa condivisa che consente alle applicazioni di connettersi tra loro tramite un thread comune.

I publisher eseguono il push di un messaggio (ossia, lo pubblicano) in un argomento di Cloud Pub/Sub. I sottoscrittori creano quindi una sottoscrizione al thread, in cui potranno eseguire il pull dei messaggi dall'argomento o configurare webhook per le sottoscrizioni di tipo push. Ogni sottoscrittore deve confermare la ricezione di ciascun messaggio entro una finestra di tempo configurabile.

Riepilogando, un publisher crea e invia messaggi in un argomento e un sottoscrittore crea una sottoscrizione a un argomento per riceverne i messaggi.

Pub/Sub su Google CLoud

Pub/Sub è preinstallato in Cloud Shell, pertanto non sono necessarie installazioni o configurazioni per iniziare a utilizzare questo servizio. In questo lab utilizzerai Python per creare l'argomento e la sottoscrizione e quindi visualizzare il messaggio. Utilizzerai un comando gcloud per pubblicare il messaggio nell'argomento.

Attività 4: crea un argomento

Per pubblicare i dati su Cloud Pub/Sub devi creare un argomento e quindi configurare un publisher in quell'argomento.

  1. In Cloud Shell, il tuo ID progetto dovrebbe essere automaticamente archiviato nella variabile di ambiente GOOGLE_CLOUD_PROJECT:
echo $GOOGLE_CLOUD_PROJECT
  1. Assicurati che l'output corrisponda all'ID progetto nei DETTAGLI DELLA CONNESSIONE.

publisher.py è uno script che dimostra come eseguire operazioni di base sugli argomenti con l'API Cloud Pub/Sub. Visualizza i contenuti dello script del publisher:

cat publisher.py Nota: in alternativa puoi utilizzare gli editor della shell installati su Cloud Shell, come nano o vim, oppure utilizzare l'editor di codice di Cloud Shell per visualizzare python-pubsub/samples/snippets/publisher.py.
  1. Per informazioni sullo script del publisher:
python publisher.py -h

Output di esempio:

utilizzo: publisher.py [-h] project {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} ... Questa applicazione dimostra come eseguire operazioni di base sugli argomenti con l'API Cloud Pub/Sub. Per ulteriori informazioni, vedi il file README.md in /pubsub e la documentazione all'indirizzo https://cloud.google.com/pubsub/docs. argomenti posizionali: project L'ID del progetto Google Cloud {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} list Visualizza un elenco di tutti gli argomenti Pub/Sub presenti nel progetto in questione. create Crea un nuovo argomento Pub/Sub. delete Elimina un argomento Pub/Sub esistente. publish Pubblica più messaggi in un argomento Pub/Sub. publish-with-custom-attributes Pubblica più messaggi con attributi personalizzati in un argomento Pub/Sub. publish-with-futures Pubblica più messaggi in un argomento Pub/Sub e visualizza i relativi ID. publish-with-error-handler Pubblica più messaggi in un argomento Pub/Sub con un gestore degli errori. publish-with-batch-settings Pubblica più messaggi in un argomento Pub/Sub con impostazioni batch. argomenti facoltativi: -h, --help Mostra questo messaggio della guida ed esce.
  1. Esegui lo script del publisher per creare l'argomento Pub/Sub:
python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic

Output di esempio:

Topic created: name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai creato correttamente un argomento Cloud Pub/Sub, visualizzerai un punteggio di valutazione.

Crea un argomento.
  1. Il comando seguente restituisce un elenco di tutti gli argomenti Pub/Sub di un dato progetto:
python publisher.py $GOOGLE_CLOUD_PROJECT list

Output di esempio:

name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Puoi visualizzare l'argomento appena creato anche nella console Google Cloud.

  1. Vai a Menu di navigazione > Pub/Sub > Argomenti.

Dovrebbe essere visualizzato MyTopic.

Attività 5: crea una sottoscrizione

  1. Crea una sottoscrizione Pub/Sub per l'argomento con lo script subscriber.py:
python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai creato correttamente una sottoscrizione Cloud Pub/Sub, visualizzerai un punteggio di valutazione.

Crea una sottoscrizione.
  1. Il comando seguente restituisce un elenco dei sottoscrittori di un dato progetto:
python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project

Verrà visualizzata una sola sottoscrizione perché è l'unica che hai creato.

Output di esempio:

projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub
  1. Verifica nella console la sottoscrizione che hai appena creato. Nel riquadro a sinistra, fai clic su Abbonamenti. Dovresti vedere il nome della sottoscrizione e altri dettagli.

  2. Per visualizzare informazioni sullo script subscriber:

python subscriber.py -h

Output:

utilizzo: subscriber.py [-h] project {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} ... Questa applicazione dimostra come eseguire operazioni di base sulle sottoscrizioni con l'API Cloud Pub/Sub. Per ulteriori informazioni, vedi il file README.md in /pubsub e la documentazione all'indirizzo https://cloud.google.com/pubsub/docs. argomenti posizionali: project L'ID del progetto Google Cloud {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} list_in_topic Visualizza un elenco di tutte le sottoscrizioni per un determinato argomento. list_in_project Visualizza un elenco di tutte le sottoscrizioni presenti nel progetto corrente. create Crea una nuova sottoscrizione pull per l'argomento in questione. create-push Crea una nuova sottoscrizione push per l'argomento in questione. delete Elimina un argomento Pub/Sub esistente. update Aggiorna l'URL dell'endpoint associato al push di una sottoscrizione Pub/Sub esistente. Tieni presente che alcune proprietà di una sottoscrizione, come il suo argomento, non sono modificabili. receive Riceve i messaggi da una sottoscrizione pull. receive-custom-attributes Riceve i messaggi da una sottoscrizione pull. receive-flow-control Riceve i messaggi da una sottoscrizione pull con controllo del flusso. receive-synchronously Pull sincrono dei messaggi. listen_for_errors Riceve i messaggi e intercetta gli errori da una sottoscrizione pull. argomenti facoltativi: -h, --help Mostra questo messaggio della guida ed esce.

Attività 6: pubblica dei messaggi

Ora che hai configurato MyTopic (l'argomento) e la sottoscrizione a MyTopic (MySub), verifica se puoi utilizzare i comandi di gcloud per pubblicare un messaggio in MyTopic.

  1. Pubblica il messaggio "Hello" in MyTopic:
gcloud pubsub topics publish MyTopic --message "Hello"
  1. Pubblica qualche altro messaggio in MyTopic: esegui questi comandi, sostituendo <YOUR NAME> con il tuo nome e <FOOD> con un alimento 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"

Attività 7: visualizza i messaggi

Ora che hai pubblicato i messaggi in MyTopic, esegui il pull e visualizzali utilizzando MySub.

  1. Utilizza MySub per eseguire il pull del messaggio da MyTopic:
python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub

Output di esempio:

Listening for messages on projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub Received message: Message { data: 'Publisher thinks Pub/Sub is awesome' attributes: {} } Received message: Message { data: 'Hello' attributes: {} } Received message: Message { data: "Publisher's name is Harry" attributes: {} } Received message: Message { data: 'Publisher likes to eat cheese' attributes: {} }
  1. Fai clic su Ctrl+C per interrompere l'ascolto.

Attività 8: 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 Python per creare un argomento Pub/Sub, hai pubblicato nell'argomento, hai creato una sottoscrizione e quindi l'hai utilizzata per eseguire il pull dei dati dall'argomento.

Completa la Quest

Questo self-paced lab fa parte della Quest Baseline: Infrastructure. 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 questa Quest o ad altre 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

Pub/Sub Lite: Qwik Start. Affiancando Pub/Sub, Pub/Sub Lite è un servizio di zona per sistemi di messaggistica con pattern di traffico prevedibili. Se pubblichi 1 MiB - 1 GiB di messaggi al secondo, Pub/Sub Lite è un'opzione a basso costo per l'importazione di eventi a volumi elevati.

Passaggi successivi/Scopri di più

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 di Google Cloud Skills Boost 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: 22 settembre 2023

Ultimo test del lab: 22 settembre 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.