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 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 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 Procedura guidata:
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 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.
-
-
Make sure that billing is enabled for your Google 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
-
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
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
- 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.
-
-
Make sure that billing is enabled for your Google 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
-
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
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
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 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 iscriverti o pubblicare contenuti al suo interno.
Utilizza il seguente
gcloud pubsub topics
create comando per creare un argomento denominato my-topic
. Non cambiare
il nome dell'argomento, perché viene fatto riferimento al 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 ulteriori informazioni sulla denominazione degli argomenti e delle sottoscrizioni, consulta Nomi delle risorse.
pubblica dei messaggi
Prima di eseguire i seguenti esempi, assicurati di rimuovere i commenti e di inserire tutti i valori obbligatori contrassegnati nel codice. Questo è necessario per collegare il sample al progetto e alle risorse Pub/Sub che hai creato in precedenza.
Utilizza my-topic
per l'ID argomento.
Python
C++
C#
Vai
Java
Node.js
Node.js
PHP
Ruby
Ricevere messaggi
Configura un sottoscrittore per estrarre i messaggi che hai appena pubblicato. Ogni sottoscrittore deve inviare un ACK per ciascun messaggio entro una specifica tempistica configurabile. I messaggi non confermati vengono inviati di nuovo. Tieni presente che a volte Pub/Sub consegna un messaggio più volte per assicurarsi che tutti i messaggi raggiungano un abbonato almeno una volta.
Prima di eseguire i seguenti esempi, assicurati di rimuovere i commenti e di inserire tutti i valori obbligatori contrassegnati nel codice. Questo è necessario per collegare il sample al 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#
Vai
Java
Node.js
PHP
Ruby
Com'è andata?
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 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
Passaggi successivi
Scopri di più sui concetti Pub/Sub discussi in questa pagina.
Leggi le nozioni di base sul servizio Pub/Sub.
Scopri come creare un sistema Pub/Sub uno a molti, che genera un'applicazione publisher che pubblica in due applicazioni di abbonati distinte.
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.