Nachrichten mit einer Clientbibliothek in Pub/Sub veröffentlichen und empfangen
Mit dem Pub/Sub-Dienst können Anwendungen Nachrichten verlässlich, schnell und asynchron austauschen. Im Folgenden sind die Ereignisse aufgeführt:
- Ein Datenersteller veröffentlicht eine Nachricht an ein Pub/Sub-Thema.
- Ein Abonnentenclient erstellt ein Abo für dieses Thema Nachrichten vom Abo.
Sie können eine Pub/Sub-Umgebung mit einer der Methoden: Google Cloud Console, Cloud Shell, Clientbibliotheken oder REST APIs Auf dieser Seite werden die ersten Schritte zur Veröffentlichung von Nachrichten mit Pub/Sub mit Clientbibliotheken
Pub/Sub bietet eine automatisch generierte allgemeine und Clientbibliothek. Wie in dieser Kurzanleitung empfehlen wir die allgemeine Clientbibliothek.
Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.
Hinweise
- 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
Clientbibliotheken installieren
Die folgenden Beispiele zeigen, wie Sie die Clientbibliotheken installieren:
Python
Weitere Informationen zur Einrichtung der Python-Entwicklungsumgebung finden Sie im Einrichtungshandbuch für die Python-Entwicklungsumgebung.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
Weitere Informationen zur Installation der C++-Bibliothek finden Sie unter 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
Thema und Abo erstellen
Nachdem Sie ein Thema erstellt haben, können Sie es abonnieren oder veröffentlichen.
Verwenden Sie Folgendes:
gcloud pubsub topics
create, um ein Thema mit dem Namen my-topic
zu erstellen. Nicht ändern
Der Name des Themas, da im weiteren Verlauf dieses Kurses immer wieder darauf verwiesen wird
.
gcloud pubsub topics create my-topic
Verwenden Sie den Befehl gcloud pubsub subscriptions create, um ein Abo zu erstellen. Nur Nachrichten, die nach dem Erstellen des Abos für das Thema veröffentlicht wurden, sind für Abonnentenanwendungen verfügbar.
gcloud pubsub subscriptions create my-sub --topic my-topic
Weitere Informationen zur Benennung von Themen und Abos finden Sie unter Ressourcennamen.
Nachrichten veröffentlichen
Bevor Sie die folgenden Beispiele ausführen, müssen Sie alle im Code markierten erforderlichen Werte auskommentieren und ausfüllen. Dies ist erforderlich, um das Beispiel in Ihr Projekt und die von Ihnen erstellten Pub/Sub-Ressourcen zuvor.
Verwenden Sie my-topic
als Themen-ID.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Ruby
Nachrichten empfangen
Richten Sie einen Abonnenten ein, um die soeben veröffentlichten Nachrichten abzurufen. Jeder Abonnent muss die einzelnen Nachrichten innerhalb eines konfigurierbaren Zeitfensters bestätigen. Unbestätigte Nachrichten werden noch einmal zugestellt. Beachten Sie, dass Pub/Sub eine Nachricht mehrmals liefert, um sicherzustellen, dass alle Nachrichten mindestens einmal zu einem Abonnenten gelangen.
Bevor Sie die folgenden Beispiele ausführen, entfernen Sie die Kommentarzeichen und füllen alle die im Code gekennzeichneten erforderlichen Werte sind. Dies ist erforderlich, um das Beispiel in Ihr Projekt und die von Ihnen erstellten Pub/Sub-Ressourcen früher
Verwende my-sub
als Abo-ID.
Weitere Beispiele zum Abrufen von Nachrichten finden Sie unter Codebeispiele für die Clientbibliothek.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Wie ist es gelaufen?
Bereinigen (optional)
- Um zu vermeiden, dass Ihrem Google Cloud-Konto Gebühren für
Ressourcen, die in diesem Leitfaden verwendet werden, können Sie die Befehlszeile verwenden,
um das Thema und das Abo zu löschen.
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
Nächste Schritte
Weitere Informationen zu Pub/Sub-Konzepten die auf dieser Seite besprochen werden.
Erfahren Sie, wie Sie ein 1:n-Pub/Sub-System erstellen, bei dem eine Publisher-Anwendung erstellt wird, die in zwei separaten Abonnentenanwendungen veröffentlicht.
Probieren Sie einen anderen Pub/Sub-Schnellstart aus, verwendet die gcloud CLI oder in der Console.
Weitere Informationen zum Erstellen von Themen und veröffentliche Mitteilungen.