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 di eventi:
- Un produttore 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 Trusted 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 basso livello generata automaticamente. Per impostazione predefinita, come in questa guida rapida, consigliamo la libreria client di alto livello.
Prima di iniziare
-
Install the Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
-
Create or select a Trusted Cloud project.
-
Create a Trusted Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Trusted Cloud project you are creating. -
Select the Trusted Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Trusted Cloud project name.
-
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
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:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account. For examples, see Represent workforce pool users in IAM policies.ROLE
: the IAM role that you grant to your user account.
- Per evitare che al tuo account Trusted Cloud by S3NS vengano addebitati costi relativi alle risorse utilizzate in questa guida, puoi utilizzare la riga di comando per eliminare l'argomento e l'abbonamento.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
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-a-molti, che crea un'applicazione publisher che pubblica su due applicazioni abbonate separate.
Prova un'altra guida rapida di Pub/Sub che utilizza l'interfaccia a riga di comando gcloud o la console.
Scopri di più sulle API Pub/Sub.
Scopri come eseguire Pub/Sub utilizzando Kotlin.
Installazione delle librerie client
Gli esempi riportati di seguito mostrano come installare le librerie client:
Python
Per ulteriori informazioni 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 la pagina GitHub README
.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Vai
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 @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 sottoscriverlo o pubblicarvi contenuti.
Utilizza il seguente comando
gcloud pubsub topics
create per creare un argomento denominato my-topic
. Non modificare
il nome dell'argomento, perché viene citato nel resto del
tutorial.
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 del sottoscrittore.
gcloud pubsub subscriptions create my-sub --topic my-topic
Per saperne di più sulla denominazione di argomenti e sottoscrizioni, consulta Nomi delle risorse.
pubblica dei messaggi
Prima di eseguire gli esempi seguenti, assicurati di rimuovere il commento e inserire tutti i valori obbligatori contrassegnati nel codice. Questo passaggio è necessario per collegare l'esempio al tuo progetto e alle risorse Pub/Sub che hai creato in precedenza.
Utilizza my-topic
per l'ID argomento.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Ruby
Ricevere messaggi
Configura un sottoscrittore per eseguire il pull dei messaggi appena pubblicati. Ogni sottoscrittore deve inviare un ACK per ciascun messaggio entro una specifica tempistica configurabile. I messaggi non confermati vengono inviati nuovamente. Tieni presente che Pub/Sub a volte consegna un messaggio più di una volta per garantire che tutti i messaggi raggiungano un abbonato almeno una volta.
Prima di eseguire gli esempi seguenti, assicurati di rimuovere il commento e inserire tutti i valori obbligatori contrassegnati nel codice. Questo è necessario per collegare l'esempio al tuo progetto e alle risorse Pub/Sub che hai creato in precedenza.
Utilizza my-sub
per l'ID abbonamento.
Per altri esempi che mostrano come estrarre i messaggi, consulta Esempi di codice della libreria client.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby