Nachrichten in Pub/Sub mithilfe einer Clientbibliothek veröffentlichen und empfangen
Mit dem Pub/Sub-Dienst können Anwendungen Nachrichten verlässlich, schnell und asynchron austauschen. Die Ereignisse sind in der folgenden Reihenfolge aufgeführt:
- Ein Datenersteller veröffentlicht eine Nachricht in einem Pub/Sub-Thema.
- Ein Abonnentenclient erstellt ein Abo für dieses Thema und ruft Nachrichten aus dem Abo ab.
Sie können eine Pub/Sub-Umgebung mit einer der folgenden Methoden einrichten: Google Cloud Console, Cloud Shell, Clientbibliotheken oder REST APIs. Auf dieser Seite werden die ersten Schritte zum Veröffentlichen von Nachrichten mit Pub/Sub mithilfe von Clientbibliotheken beschrieben.
Pub/Sub bietet eine übergeordnete und eine untergeordnete Clientbibliothek, die automatisch generiert werden. Standardmäßig empfehlen wir wie in dieser Kurzanleitung die übergeordnete Clientbibliothek.
Klicken Sie auf Anleitung, um die Schritt-für-Schritt-Anleitung für diese Aufgabe direkt in der Google Cloud Console auszuführen:
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Google Cloud-Projekt erstellen oder auswählen.
-
Erstellen Sie ein Google Cloud-Projekt:
gcloud projects create PROJECT_ID
-
Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:
gcloud config set project PROJECT_ID
-
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Aktivieren Sie die Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
-
Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID. - Ersetzen Sie
EMAIL_ADDRESS
durch Ihre E-Mail-Adresse. - Ersetzen Sie
ROLE
durch jede einzelne Rolle.
- Ersetzen Sie
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Google Cloud-Projekt erstellen oder auswählen.
-
Erstellen Sie ein Google Cloud-Projekt:
gcloud projects create PROJECT_ID
-
Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:
gcloud config set project PROJECT_ID
-
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Aktivieren Sie die Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
-
Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID. - Ersetzen Sie
EMAIL_ADDRESS
durch Ihre E-Mail-Adresse. - Ersetzen Sie
ROLE
durch jede einzelne Rolle.
- Ersetzen Sie
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 zum Installieren der C++-Bibliothek finden Sie im GitHub README
.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
Wenn Sie Maven verwenden, fügen Sie Ihrer Datei pom.xml
den folgenden Code hinzu. Weitere Informationen zu BOMs finden Sie unter The Google Cloud Platform Libraries BOM.
Wenn Sie Gradle verwenden, fügen Sie den Abhängigkeiten Folgendes hinzu:
Wenn Sie sbt nutzen, fügen Sie den Abhängigkeiten Folgendes hinzu:
Wenn Sie Visual Studio Code, IntelliJ oder Eclipse verwenden, können Sie Ihrem Projekt mithilfe der folgenden IDE-Plug-ins Clientbibliotheken hinzufügen:
Diese Plug-ins bieten zusätzliche Funktionen wie die Schlüsselverwaltung für Dienstkonten. Einzelheiten finden Sie in der Dokumentation der einzelnen Plug-ins.
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 darin veröffentlichen.
Verwenden Sie den folgenden gcloud pubsub topics create-Befehl, um ein Thema mit dem Namen my-topic
zu erstellen. Ändern Sie den Namen des Themas nicht, da im weiteren Verlauf der Anleitung 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, entfernen Sie die Kommentarzeichen und geben Sie alle erforderlichen Werte ein, die im Code gekennzeichnet sind. Dies ist erforderlich, um das Beispiel mit Ihrem Projekt und den zuvor erstellten Pub/Sub-Ressourcen zu verknüpfen.
Verwenden Sie my-topic
als Themen-ID.
Python
C++
C#
Einfach loslegen (Go)
Java
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 geben Sie alle erforderlichen Werte ein, die im Code gekennzeichnet sind. Dies ist erforderlich, um das Beispiel mit Ihrem Projekt und den zuvor erstellten Pub/Sub-Ressourcen zu verknüpfen.
Verwende my-sub
als Abo-ID.
Python
C++
C#
Einfach loslegen (Go)
Java
Node.js
PHP
Ruby
Wie ist es gelaufen?
Bereinigen (optional)
- Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, können Sie das Thema und das Abo über die Befehlszeile löschen.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
Optional: Widerrufen Sie die von Ihnen erstellten Anmeldedaten für die Authentifizierung und löschen Sie die lokale Datei mit den Anmeldedaten:
gcloud auth application-default revoke
-
Optional: Widerrufen Sie Anmeldedaten von der gcloud-CLI.
gcloud auth revoke
Nächste Schritte
Weitere Informationen zu den auf dieser Seite beschriebenen Pub/Sub-Konzepten
Hier erfahren Sie, wie Sie ein 1:n-Pub/Sub-System erstellen. Dabei wird eine Publisher-Anwendung erstellt, die in zwei separaten Abonnentenanwendungen veröffentlicht.
Probieren Sie eine andere Pub/Sub-Kurzanleitung aus, in der die gcloud CLI oder Console verwendet wird.