Pubblica e ricevi messaggi in Pub/Sub utilizzando una libreria client
- Un producer 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 Cloud de Confiance , 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 livello e una di basso livello, entrambe generate automaticamente. Per impostazione predefinita, come in questa guida rapida, consigliamo la libreria client di alto livello.
Prima di iniziare
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per saperne di più, consulta Accedi a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Cloud de Confiance progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere ruoli.
-
Crea un progetto Cloud de Confiance :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Cloud de Confiance che stai creando. -
Seleziona il progetto Cloud de Confiance che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Cloud de Confiance .
-
Verifica che la fatturazione sia attivata per il tuo progetto Cloud de Confiance .
Abilita l'API Pub/Sub, se non è già abilitata:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable pubsub.googleapis.com
-
Crea le credenziali di autenticazione locale per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione, verifica di aver eseguito l'accesso a gcloud CLI con la tua identità federata.
-
Concedi i ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
roles/pubsub.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.USER_IDENTIFIER: l'identificatore del tuo account utente . Per esempi, vedi Rappresenta gli utenti del pool di forza lavoro nelle policy IAM.ROLE: il ruolo IAM che concedi al tuo account utente.
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 saperne di più sull'installazione della libreria C++, consulta GitHub README
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Vai
Per un elenco dei runtime supportati, consulta Versioni di Go supportate.
go get cloud.google.com/go/pubsub/v2
Java
Se utilizzi Maven, aggiungi quanto segue al file pom.xml. Per saperne di più sulle distinte base (BOM), consulta La distinta base (BOM) delle librerie di Google Cloud.
Se utilizzi Gradle, aggiungi quanto segue alle dipendenze:
Se utilizzi sbt, aggiungi quanto segue alle tue dipendenze:
Se utilizzi Visual Studio Code o IntelliJ, puoi aggiungere librerie client al tuo progetto utilizzando i seguenti plug-in IDE:
I plug-in forniscono funzionalità aggiuntive, come la gestione delle chiavi per i service account. Per i dettagli, consulta la documentazione di ogni plug-in.
Node.js
npm install @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Rust
cargo add google-cloud-pubsub
Crea un argomento e una sottoscrizione
Dopo aver creato un argomento, puoi sottoscriverlo o pubblicarlo.
Utilizza il seguente comando
gcloud pubsub topics create per creare un argomento denominato my-topic. Non modificare
il nome dell'argomento, perché viene citato in tutto il resto del
tutorial.
gcloud pubsub topics create my-topic
Utilizza il comando
gcloud pubsub subscriptions
create per creare un abbonamento. 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
pubblica dei messaggi
Prima di eseguire i seguenti esempi, assicurati di rimuovere i commenti e di inserire i valori richiesti contrassegnati nel codice. Questo è 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#
Vai
Java
Node.js
Node.js
PHP
Ruby
Rust
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 di nuovo. Tieni presente che Pub/Sub occasionalmente recapita un messaggio più di una volta per garantire che tutti i messaggi arrivino a un sottoscrittore almeno una volta.
Prima di eseguire i seguenti esempi, assicurati di rimuovere i commenti e di inserire i valori richiesti 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-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
Rust
Com'è andata?
Pulizia (facoltativo)
- Per evitare che al tuo account Cloud de Confiance 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
-
(Facoltativo) Revoca le credenziali di autenticazione che hai creato ed elimina il file delle credenziali locali.
gcloud auth application-default revoke
-
(Facoltativo) Revoca le credenziali da gcloud 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 one-to-many, che crea un'applicazione publisher che pubblica su due applicazioni subscriber 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.