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 di sottoscrizione crea una sottoscrizione per quell'argomento e utilizza i messaggi della 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 librerie client.
Pub/Sub offre una libreria client generata automaticamente di alto livello e di basso livello. Per impostazione predefinita, come in questa guida rapida, consigliamo l'utilizzo della libreria client di alto livello.
Per seguire le istruzioni 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.
-
Creare un progetto Cloud:
gcloud projects create PROJECT_ID
-
Seleziona il progetto Cloud che hai creato:
gcloud config set project PROJECT_ID
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su 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.
-
Creare un progetto Cloud:
gcloud projects create PROJECT_ID
-
Seleziona il progetto Cloud che hai creato:
gcloud config set project PROJECT_ID
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su 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 dell'ambiente di sviluppo Python, consulta la guida alla configurazione dell'ambiente di sviluppo 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 abbonarti o pubblicarlo.
Utilizza il comando gcloud pubsub topics create per creare un argomento:
gcloud pubsub topics create my-topic
Utilizza il comando gcloud pubsub Subscriptions create per creare una sottoscrizione. Solo i messaggi pubblicati nell'argomento dopo la creazione della sottoscrizione sono disponibili per le applicazioni di sottoscrizione.
gcloud pubsub subscriptions create my-sub --topic my-topic
Per maggiori informazioni sulla denominazione degli argomenti e delle iscrizioni, consulta Nomi delle risorse.
Pubblica dei messaggi
Nei seguenti esempi, 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 che hai appena pubblicato. Ogni sottoscrittore deve inviare un ACK per ciascun messaggio entro una finestra di tempo configurabile. I messaggi non confermati vengono recapitati nuovamente. Tieni presente che occasionalmente Pub/Sub recapita un messaggio più di una volta per assicurarti che tutti i messaggi arrivino a un sottoscrittore almeno una volta.
Nei seguenti esempi, utilizza my-sub
come ID abbonamento.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Com'è andata?
Pulisci (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.
Esamina un esempio end-to-end di un sistema Pub/Sub.
Prova un'altra guida rapida di Pub/Sub che utilizza gcloud Cloud CLI o la console.
Scopri di più sulle API Pub/Sub.
Scopri come eseguire Pub/Sub utilizzando Kotlin.