arrow_back

Elaborazione dei dati in modalità flusso: pubblicare i dati in modalità flusso in Pub/Sub

Accedi Partecipa
Accedi a oltre 700 lab e corsi

Elaborazione dei dati in modalità flusso: pubblicare i dati in modalità flusso in Pub/Sub

Lab 2 ore universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

Panoramica

Google Cloud Pub/Sub è un servizio di messaggistica in tempo reale completamente gestito che consente di inviare e ricevere messaggi tra applicazioni indipendenti. Utilizza Cloud Pub/Sub per pubblicare e sottoscrivere dati provenienti da più fonti, quindi usa Google Cloud Dataflow per interpretare i tuoi dati, tutto in tempo reale.

In questo lab, simulerai i dati dei sensori del traffico in un argomento Pub/Sub per l'elaborazione successiva con una pipeline Dataflow prima della rappresentazione finale in una tabella BigQuery per l'ulteriore analisi.

Nota: al momento della stesura del presente documento, le pipeline di flusso non sono disponibili nell'SDK di Dataflow per Python. I lab sui flussi sono pertanto scritti in Java.

Obiettivi

In questo lab, imparerai a:

  • Creare un argomento e una sottoscrizione Pub/Sub
  • Simulare i dati dei sensori di traffico in Pub/Sub

Configurazione

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  1. Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.

  2. Tieni presente la durata dell'accesso al lab (ad esempio, 1:15:00) e assicurati di finire entro quell'intervallo di tempo.
    Non è disponibile una funzionalità di pausa. Se necessario, puoi riavviare il lab ma dovrai ricominciare dall'inizio.

  3. Quando è tutto pronto, fai clic su Inizia lab.

  4. Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.

  5. Fai clic su Apri console Google.

  6. Fai clic su Utilizza un altro account e copia/incolla le credenziali per questo lab nei prompt.
    Se utilizzi altre credenziali, compariranno errori oppure ti verranno addebitati dei costi.

  7. Accetta i termini e salta la pagina di ripristino delle risorse.

Attività 1: preparazione

Eseguirai un simulatore di sensori dalla VM di addestramento. Ti serviranno alcuni file e dovrai configurare l'ambiente.

Apri il terminale SSH e connettiti alla VM di addestramento

  1. Nella Console, nel menu di navigazione (Icona menu di navigazione), fai clic su Compute Engine > Istanze VM.
  2. Trova la riga con l'istanza denominata training-vm.
  3. Sulla destra, sotto Connetti, fai clic su SSH per aprire una finestra del terminale.
  4. In questo lab, inserirai i comandi dell'interfaccia a riga di comando nell'istanza training-vm.

Verifica che l'inizializzazione sia completa

  • L'istanza training-vm installerà dei software in background. Verifica che la configurazione sia completa controllando il contenuto della nuova directory:
ls /training

La configurazione è completa quando il risultato ottenuto come output del comando list (ls) corrisponde all'immagine seguente. Se l'elenco visualizzato non è completo, aspetta qualche minuto e riprova. Nota: il completamento di tutte le operazioni in background potrebbe richiedere da due a tre minuti.

Output comando ls

Scarica il repository di codice

  • A seguire, scaricherai un repository di codice da utilizzare in questo lab:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Identifica un progetto

Una variabile di ambiente che devi impostare è $DEVSHELL_PROJECT_ID, contenente l'ID progetto Google Cloud necessario per accedere alle risorse fatturabili.

  1. Nella Console, nel menu di navigazione ( Icona menu di navigazione), fai clic su Home. Nel riquadro con le informazioni del progetto, compare l'ID del progetto. Puoi trovare queste informazioni anche nella tabella Qwiklabs sotto Dettagli della connessione con l'etichetta ID progetto piattaforma Google Cloud.
  2. Sul terminale SSH di training-vm, imposta la variabile di ambiente DEVSHELL_PROJECT_ID ed esportala in modo che sia disponibile per le altre shell. Il seguente comando ottiene l'ID del progetto attivo dall'ambiente Google Cloud:
export DEVSHELL_PROJECT_ID=$(gcloud config get-value project)

Attività 2: crea un argomento e una sottoscrizione Pub/Sub

  1. Sul terminale SSH di training-vm, vai alla directory per questo lab:
cd ~/training-data-analyst/courses/streaming/publish

Verifica che il servizio Pub/Sub sia accessibile e funzionante mediante il comando gcloud.

  1. Crea il tuo argomento e pubblica un messaggio semplice:
gcloud pubsub topics create sandiego
  1. Pubblica un messaggio semplice:
gcloud pubsub topics publish sandiego --message "hello"
  1. Crea una sottoscrizione per questo argomento:
gcloud pubsub subscriptions create --topic sandiego mySub1
  1. Esegui il pull del primo messaggio pubblicato nel tuo argomento:
gcloud pubsub subscriptions pull --auto-ack mySub1

Vedi dei risultati? Se no, perché?

  1. Prova a pubblicare un altro messaggio e a eseguire il pull utilizzando la sottoscrizione:
gcloud pubsub topics publish sandiego --message "hello again" gcloud pubsub subscriptions pull --auto-ack mySub1

Hai ottenuto una risposta questa volta?

Output:

Data: Hello, Message_ID: 38138015771622, Attributes: (blank)

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un argomento e una sottoscrizione Pub/Sub

  1. Nel terminale SSH di training-vm, annulla la tua sottoscrizione:
gcloud pubsub subscriptions delete mySub1

Attività 3: simula i dati dei sensori di traffico in Pub/Sub

  1. Esplora lo script di Python per simulare i dati dei sensori del traffico di San Diego. Non apportare modifiche al codice.
cd ~/training-data-analyst/courses/streaming/publish nano send_sensor_data.py

Controlla la funzione di simulazione. Questa fa sì che lo script si comporti come se i sensori del traffico stessero inviando dati in tempo reale a Pub/Sub. Il parametro speedFactor determina la velocità della simulazione. Esci dal file premendo Ctrl+X.

  1. Scarica il set di dati della simulazione del traffico:
./download_data.sh

Simula i dati dei sensori di flusso

  1. Esegui send_sensor_data.py:
./send_sensor_data.py --speedFactor=60 --project $DEVSHELL_PROJECT_ID

Questo comando simula i dati dei sensori inviando i dati dei sensori registrati tramite messaggi Pub/Sub. Lo script estrae l'ora originale dei dati dei sensori e crea una pausa tra un invio e l'altro di ciascun messaggio per simulare una temporizzazione realistica dei dati dei sensori. Il valore speedFactor modifica la temporizzazione tra i messaggi in maniera proporzionale. Quindi, uno speedFactor di 60 significa "60 volte più veloce" del tempo registrato. Invierà circa un'ora di dati ogni 60 secondi.

Lascia il terminale aperto e il simulatore in esecuzione.

Attività 4: verifica che i messaggi siano stati ricevuti

Apri un secondo terminale SSH e connettilo alla VM di addestramento

  1. Nella Console, nel menu di navigazione (Icona menu di navigazione), fai clic su Compute Engine > Istanze VM.
  2. Trova la riga con l'istanza denominata training-vm.
  3. Sulla destra, sotto Connetti, fai clic su SSH per aprire una seconda finestra del terminale.
  4. Passa alla directory in cui stavi lavorando:
cd ~/training-data-analyst/courses/streaming/publish
  1. Crea una sottoscrizione per l'argomento ed esegui il pull per confermare l'arrivo dei messaggi (nota: è possibile che tu debba eseguire il comando 'pull' più di una volta per iniziare a visualizzare i messaggi):
gcloud pubsub subscriptions create --topic sandiego mySub2 gcloud pubsub subscriptions pull --auto-ack mySub2
  1. Conferma che visualizzi un messaggio con informazioni sui sensori del traffico.

Output

  1. Annulla questa sottoscrizione:
gcloud pubsub subscriptions delete mySub2
  1. Chiudi il secondo terminale:
exit

Arresta il simulatore dei sensori

  1. Ritorna al primo terminale.
  2. Interrompi il publisher digitando Ctrl+C per arrestarlo.
  3. Chiudi il primo terminale:
exit

Termina il lab

Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

Il numero di stelle corrisponde alle seguenti valutazioni:

  • 1 stella = molto insoddisfatto
  • 2 stelle = insoddisfatto
  • 3 stelle = esperienza neutra
  • 4 stelle = soddisfatto
  • 5 stelle = molto soddisfatto

Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

Copyright 2020 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.