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
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
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.