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. Folgendes ist die Abfolge der Ereignisse:
- Ein Datenersteller veröffentlicht eine Nachricht in einem Pub/Sub-Thema.
- Ein Abonnentenclient erstellt ein Abo für dieses Thema und verarbeitet Nachrichten aus dem Abo.
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 über Clientbibliotheken beschrieben.
Pub/Sub bietet eine allgemeine und eine untergeordnete Clientbibliothek. Standardmäßig empfehlen wir wie in dieser Kurzanleitung die allgemeine 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
-
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.
-
-
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
-
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.
-
-
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
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 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 dieser 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 füllen Sie alle erforderlichen Werte aus, die im Code gekennzeichnet sind. Dies ist erforderlich, um das Beispiel mit Ihrem zuvor erstellten Projekt und den Pub/Sub-Ressourcen zu verknüpfen.
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 Sie alle erforderlichen Werte aus, 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.
Weitere Beispiele zum Abrufen von Nachrichten finden Sie in den Codebeispielen für die Clientbibliothek.
Python
C++
C#
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
Lesen Sie die Grundlagen des Pub/Sub-Dienstes.
Hier erfährst du, wie du ein 1:n-Pub/Sub-System erstellst. Dabei wird eine Publisher-Anwendung erstellt, die Inhalte in zwei separaten Abonnentenanwendungen veröffentlicht.
Probieren Sie eine andere Pub/Sub-Kurzanleitung aus, in der die gcloud CLI oder Console verwendet wird.
Hier erfahren Sie, wie Sie Pub/Sub mit Kotlin ausführen.