Pubblica e ricevi messaggi in Pub/Sub utilizzando una libreria client
Il servizio Pub/Sub consente alle applicazioni di scambiare messaggi in modo affidabile, in modo 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 qualsiasi dei seguenti metodi: console Google Cloud, Cloud Shell, librerie client le API REST. Questa pagina mostra come iniziare a pubblicare messaggi con in Pub/Sub utilizzando 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_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_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 la Sottoscrizioni gcloud pubsub comando create per creare una sottoscrizione. Solo i messaggi pubblicati all'argomento dopo la creazione della sottoscrizione siano disponibili per il sottoscrittore diverse applicazioni.
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. Questa operazione è necessaria per collegare al tuo progetto e alle risorse Pub/Sub che hai creato in precedenza.
Usa my-topic
come 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 iscritto Deve confermare la ricezione di ciascun messaggio entro un intervallo di tempo 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 gli esempi riportati di seguito, assicurati di rimuovere il commento e di inserire uno degli i valori obbligatori indicati 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 eseguire il pull dei 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 di Pub/Sub trattati in questa pagina.
Leggi le nozioni di base sul servizio Pub/Sub.
Scopri come creare un sistema Pub/Sub one-to-many per creare un'applicazione del publisher in grado di pubblicare su due applicazioni separate per gli abbonati.
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.