Pubblica e ricevi messaggi in Pub/Sub utilizzando una libreria client
Il servizio Pub/Sub consente alle applicazioni di scambiare messaggi in modo affidabile, rapido e asincrono. Di seguito è riportata la sequenza degli eventi:
- Un producer di dati pubblica un messaggio in un argomento Pub/Sub.
- Un client sottoscrittore crea una sottoscrizione a quell'argomento e consuma messaggi dalla sottoscrizione.
Puoi configurare un ambiente Pub/Sub utilizzando uno dei seguenti metodi: console Google Cloud, Cloud Shell, librerie client o API REST. Questa pagina mostra come iniziare a pubblicare messaggi con Pub/Sub utilizzando le librerie client.
Pub/Sub offre una libreria client generata automaticamente e di alto livello. Per impostazione predefinita, come in questa guida rapida, è consigliabile la libreria client di alto livello.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
-
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
-
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
-
Attiva Pub/Sub API.
gcloud services enable pubsub.googleapis.com
-
Crea le credenziali di autenticazione per il tuo Account Google:
gcloud auth application-default login
-
Concedi i ruoli al tuo Account Google. Esegui il comando seguente una volta per ciascuno dei seguenti ruoli IAM:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Sostituisci
PROJECT_ID
con l'ID progetto. - Sostituisci
EMAIL_ADDRESS
con il tuo indirizzo email. - Sostituisci
ROLE
con ogni ruolo.
- Sostituisci
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
-
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
-
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
-
Attiva Pub/Sub API.
gcloud services enable pubsub.googleapis.com
-
Crea le credenziali di autenticazione per il tuo Account Google:
gcloud auth application-default login
-
Concedi i ruoli al tuo Account Google. Esegui il comando seguente una volta per ciascuno dei seguenti ruoli IAM:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Sostituisci
PROJECT_ID
con l'ID progetto. - Sostituisci
EMAIL_ADDRESS
con il tuo indirizzo email. - Sostituisci
ROLE
con ogni ruolo.
- Sostituisci
Installazione delle librerie client
I seguenti esempi mostrano come installare le librerie client:
Python
Per saperne di più sulla configurazione del tuo ambiente di sviluppo Python, consulta la guida alla configurazione dell'ambiente di sviluppo di Python.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
Per maggiori informazioni sull'installazione della libreria C++, consulta GitHub README
.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
Se utilizzi Maven, aggiungi quanto segue al file pom.xml
. Per ulteriori informazioni sui
BOM, consulta la pagina BOM delle librerie Google Cloud Platform.
Se utilizzi Gradle, aggiungi quanto segue alle dipendenze:
Se utilizzi sbt, aggiungi quanto segue alle dipendenze:
Se utilizzi Visual Studio Code, IntelliJ o Eclipse, puoi aggiungere librerie client al progetto utilizzando i seguenti plug-in IDE:
I plug-in offrono funzionalità aggiuntive, come la gestione delle chiavi per gli account di servizio. Per informazioni dettagliate, consulta la documentazione di ogni plug-in.
Node.js
npm install --save @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Crea un argomento e una sottoscrizione
Dopo aver creato un argomento, puoi iscriverti o pubblicarlo.
Utilizza il seguente comando
gcloud pubsub topics
create per creare un argomento denominato my-topic
. Non modificare il nome dell'argomento, perché fa riferimento al resto del tutorial.
gcloud pubsub topics create my-topic
Utilizza il comando gcloud pubsub subscription create per creare una sottoscrizione. Solo i messaggi pubblicati nell'argomento dopo la creazione della sottoscrizione sono disponibili per le applicazioni abbonato.
gcloud pubsub subscriptions create my-sub --topic my-topic
Per maggiori informazioni sulla denominazione di argomenti e iscrizioni, consulta Nomi delle risorse.
Pubblica dei messaggi
Prima di eseguire i seguenti esempi, assicurati di rimuovere il commento e inserire uno dei valori obbligatori contrassegnati nel codice. Questa operazione è necessaria per collegare l'esempio al progetto e le risorse Pub/Sub che hai creato in precedenza.
Utilizza my-topic
per l'ID argomento.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Ricevere messaggi
Configura un sottoscrittore per il pull dei messaggi appena pubblicati. Ogni sottoscrittore deve confermare ciascun messaggio entro un periodo di tempo configurabile. I messaggi non confermati vengono ricaricati. Tieni presente che Pub/Sub consegna occasionalmente un messaggio più di una volta per garantire che tutti i messaggi arrivino a un sottoscrittore almeno una volta.
Prima di eseguire i seguenti esempi, assicurati di rimuovere il commento e inserire uno dei valori obbligatori contrassegnati nel codice. Questa operazione è necessaria per collegare l'esempio al progetto e le risorse Pub/Sub che hai creato in precedenza
Usa my-sub
come ID abbonamento.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Com'è andata?
Eseguire la pulizia (facoltativo)
- Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa guida, puoi utilizzare la riga di comando per eliminare l'argomento e la sottoscrizione.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
(Facoltativo) Revoca le credenziali di autenticazione che hai creato ed elimina il file delle credenziali locale.
gcloud auth application-default revoke
-
Facoltativo: revoca le credenziali dall'interfaccia a riga di comando gcloud.
gcloud auth revoke
Passaggi successivi
Scopri di più sui concetti Pub/Sub trattati in questa pagina.
Scopri come creare un sistema one-to-many per Pub/Sub, che crea un'applicazione editore che pubblica in due applicazioni separate per gli abbonati.
Prova un'altra guida rapida di Pub/Sub che utilizza gCloud CLI o la console.
Scopri di più sulle API Pub/Sub.
Scopri come eseguire Pub/Sub utilizzando Kotlin.