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. Ecco la sequenza degli eventi:
- Un publisher di dati pubblica un messaggio in un argomento Pub/Sub.
- Un client sottoscrittore crea una sottoscrizione all'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 le librerie client.
Pub/Sub offre una libreria client di alto e di basso livello generata automaticamente. Per impostazione predefinita, come in questa guida rapida, consigliamo la libreria client di alto livello.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Aiuto:
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 initialize gcloud CLI, esegui questo comando:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva Pub/Sub API.
gcloud services enable pubsub.googleapis.com
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
-
Concedi i ruoli al tuo Account Google. Esegui questo comando 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 singolo ruolo.
- Sostituisci
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva Pub/Sub API.
gcloud services enable pubsub.googleapis.com
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
-
Concedi i ruoli al tuo Account Google. Esegui questo comando 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 singolo 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 ulteriori 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
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
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 seguente comando
gcloud pubsub topics create per creare un argomento denominato my-topic
. Non modificare il nome dell'argomento, perché vi verrà fatto riferimento nel resto del tutorial.
gcloud pubsub topics create my-topic
Utilizza il comando gcloud pubsub subscriptions create per creare una sottoscrizione. Per le applicazioni del sottoscrittore sono disponibili solo i messaggi pubblicati nell'argomento dopo la creazione della sottoscrizione.
gcloud pubsub subscriptions create my-sub --topic my-topic
Per ulteriori informazioni sull'assegnazione dei nomi agli argomenti e alle sottoscrizioni, consulta Nomi delle risorse.
pubblica dei messaggi
Prima di eseguire gli esempi che seguono, assicurati di rimuovere il commento e compilare i valori obbligatori contrassegnati nel codice. Questa operazione è necessaria per collegare l'esempio al tuo progetto e alle risorse Pub/Sub che hai creato in precedenza.
Utilizza my-topic
come ID argomento.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Ruby
Ricevere messaggi
Configurare un sottoscrittore per eseguire il pull dei messaggi appena pubblicati. Ogni sottoscrittore deve confermare la ricezione di ciascun messaggio entro una finestra temporale configurabile. I messaggi non confermati vengono recapitati. Tieni presente che a volte Pub/Sub recapita un messaggio più di una volta per garantire che tutti i messaggi vengano inviati a un sottoscrittore almeno una volta.
Prima di eseguire gli esempi che seguono, assicurati di rimuovere il commento e compilare i valori obbligatori contrassegnati nel codice. Questa operazione è necessaria per collegare l'esempio al tuo progetto e alle risorse Pub/Sub che hai creato in precedenza
Usa my-sub
come ID abbonamento.
Per altri esempi che mostrano come eseguire il pull dei messaggi, vedi Esempi di codice delle librerie client.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Com'è andata?
Eseguire la pulizia (facoltativa)
- 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 dallgcloud CLI.
gcloud auth revoke
Passaggi successivi
Scopri di più sui concetti Pub/Sub trattati in questa pagina.
Leggi le nozioni di base sul servizio Pub/Sub.
Scopri come creare un sistema Pub/Sub uno-to-many, che crea un'applicazione publisher che viene pubblicata in due applicazioni sottoscrittore separate.
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.