arrow_back

Pub/Sub: Qwik Start – Python

Anmelden Teilnehmen
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Pub/Sub: Qwik Start – Python

Lab 30 Minuten universal_currency_alt 1 Guthabenpunkt show_chart Einsteiger
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP094

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

Mit dem Pub/Sub-Dienst können Anwendungen Nachrichten verlässlich, schnell und asynchron austauschen. Zu diesem Zweck veröffentlicht ein Datenersteller Nachrichten unter einem Cloud Pub/Sub-Thema. Ein Abonnentenclient erstellt dann ein Abo für dieses Thema und ruft Nachrichten aus dem Abo ab. Cloud Pub/Sub speichert bis zu sieben Tage lang Nachrichten, die nicht zuverlässig zugestellt werden konnten.

In diesem Lab erfahren Sie, wie Sie mit Pub/Sub und der Python-Clientbibliothek Nachrichten veröffentlichen können.

Aufgaben

Aufgaben in diesem Lab:

  • Grundlagen von Pub/Sub
  • Pub/Sub-Themen und -Abos erstellen, löschen und auflisten
  • Nachrichten in einem Thema veröffentlichen.
  • Nachrichten zu einem Thema mit einem Pull-Abonnenten abrufen

Einrichtung und Anforderungen

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Wenn Sie über ein persönliches Google Cloud-Konto oder -Projekt verfügen, verwenden Sie es nicht für dieses Lab. So werden zusätzliche Kosten für Ihr Konto vermieden.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:

    • Schaltfläche Google Cloud Console öffnen
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich Details zum Lab.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich Details zum Lab.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie sich eine Liste der Google Cloud-Produkte und ‑Dienste ansehen möchten, klicken Sie oben links auf das Navigationsmenü. Symbol für Navigationsmenü

Cloud Shell aktivieren

Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.

  1. Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren Symbol für Cloud Shell-Aktivierung.

Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:

Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.

  1. (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
  1. Klicken Sie auf Autorisieren.

Ausgabe:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Um das aktive Konto festzulegen, führen Sie diesen Befehl aus: $ gcloud config set account `ACCOUNT`
  1. (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project

Ausgabe:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.

Aufgabe 1: Virtuelle Umgebung erstellen

Virtuelle Python-Umgebungen werden verwendet, um die Paketinstallation vom System zu isolieren.

  1. virtualenv-Umgebung installieren:
sudo apt-get install -y virtualenv
  1. Virtuelle Umgebung erstellen:
python3 -m venv venv
  1. Virtuelle Umgebung aktivieren:
source venv/bin/activate

Aufgabe 2: Clientbibliothek installieren

  1. Führen Sie den folgenden Befehl aus, um die Clientbibliothek zu installieren:
pip install --upgrade google-cloud-pubsub
  1. Rufen Sie den Beispielcode ab, indem Sie ein GitHub-Repository klonen:
git clone https://github.com/googleapis/python-pubsub.git
  1. Rufen Sie das folgende Verzeichnis auf:
cd python-pubsub/samples/snippets

Aufgabe 3: Pub/Sub – Grundlagen

Pub/Sub ist ein asynchroner globaler Messaging-Dienst. Drei Begriffe werden im Zusammenhang mit Pub/Sub häufig verwendet: Themen, Veröffentlichen und Abonnieren.

Ein Thema ist ein gemeinsam genutzter String, mit dem Anwendungen über einen gemeinsamen Thread miteinander verbunden werden können.

Publisher übertragen (bzw. veröffentlichen) Nachrichten per Push an ein Pub/Sub-Thema. Abonnenten schließen ein Abo des betreffenden Threads ab und rufen entweder Nachrichten aus dem Thema ab oder konfigurieren Webhooks für Push-Abos. Jeder Abonnent muss die einzelnen Nachrichten innerhalb eines konfigurierbaren Zeitfensters bestätigen.

Zusammengefasst erstellt ein Publisher Nachrichten und sendet sie an ein Thema. Ein Abonnent erstellt ein Abo für ein Thema, um Nachrichten aus diesem Thema zu erhalten.

Pub/Sub in Google Cloud

Pub/Sub ist in Cloud Shell vorinstalliert. Daher sind für den Einstieg in diesen Dienst weder Installation noch Konfiguration erforderlich. In diesem Lab verwenden Sie Python, um das Thema und den Abonnenten zu erstellen und dann die Nachricht aufzurufen. Zum Veröffentlichen der Nachricht im Thema verwenden Sie einen gcloud-Befehl.

Aufgabe 4: Thema erstellen

Zum Veröffentlichen von Daten in Pub/Sub erstellen Sie ein Thema und konfigurieren dann einen Publisher für das Thema.

  1. In Cloud Shell sollte Ihre Projekt-ID automatisch in der Umgebungsvariablen GOOGLE_CLOUD_PROJECT gespeichert werden:
echo $GOOGLE_CLOUD_PROJECT
  1. Die Ausgabe muss mit der Projekt-ID in den VERBINDUNGSDETAILS übereinstimmen.

publisher.py ist ein Skript, mit dem dargestellt wird, wie grundlegende Vorgänge in Themen mit der Cloud Pub/Sub API durchgeführt werden. So rufen Sie den Inhalt des Publisher-Skripts auf:

cat publisher.py Hinweis: Alternativ können Sie die auf Cloud Shell installierten Shell-Editoren wie „nano“ oder „vim“ verwenden oder den Code-Editor von Cloud Shell zum Anzeigen von python-pubsub/samples/snippets/publisher.py verwenden.
  1. So rufen Sie Informationen zum Publisher-Skript ab:
python publisher.py -h

Beispielausgabe:

usage: publisher.py [-h] project {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} ... Diese Anwendung demonstriert, wie mit der Cloud Pub/Sub API grundlegende Vorgänge an Themen durchgeführt werden können. Weitere Informationen finden Sie in der Datei „README.md“ unter „/pubsub“ und in der Dokumentation unter https://cloud.google.com/pubsub/docs. Positionsargumente: project Your Google Cloud project ID {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} list Lists all Pub/Sub topics in the given project. create Create a new Pub/Sub topic. delete Deletes an existing Pub/Sub topic. publish Publishes multiple messages to a Pub/Sub topic. publish-with-custom-attributes Publishes multiple messages with custom attributes to a Pub/Sub topic. publish-with-futures Publishes multiple messages to a Pub/Sub topic and prints their message IDs. publish-with-error-handler Publishes multiple messages to a Pub/Sub topic with an error handler. publish-with-batch-settings Publishes multiple messages to a Pub/Sub topic with batch settings. optional arguments: -h, --help show this help message and exit
  1. Führen Sie das Publisher-Script aus, um das Pub/Sub-Thema zu erstellen.
python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic

Beispielausgabe:

Topic created: name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Abgeschlossene Aufgabe testen

Klicken Sie auf Fortschritt prüfen. Wenn Sie erfolgreich ein Cloud Pub/Sub-Thema erstellt haben, erhalten Sie ein Testergebnis.

Thema erstellen.
  1. Über diesen Befehl wird eine Liste aller Pub/Sub-Themen in einem bestimmten Projekt zurückgegeben:
python publisher.py $GOOGLE_CLOUD_PROJECT list

Beispielausgabe:

name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Sie können auch das Thema aufrufen, das Sie gerade in der Cloud Console erstellt haben.

  1. Wechseln Sie zu Navigationsmenü > Pub/Sub > Themen.

Sie sollten nun MyTopic sehen.

Aufgabe 5: Abo erstellen

  1. Erstellen Sie ein Pub/Sub-Abo für ein Thema mit dem Skript subscriber.py:
python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub

Abgeschlossene Aufgabe testen

Klicken Sie auf Fortschritt prüfen. Wenn Sie erfolgreich ein Cloud Pub/Sub-Abo erstellt haben, erhalten Sie ein Testergebnis.

Abo erstellen.
  1. Über diesen Befehl wird eine Liste der Abonnenten in einem bestimmten Projekt zurückgegeben:
python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project

Es wird lediglich ein Abo angezeigt, da Sie nur ein Abo erstellt haben.

Beispielausgabe:

projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub
  1. Überprüfen Sie das Abo, das Sie gerade in der Konsole erstellt haben. Klicken Sie links auf Subscriptions (Abos). Der Aboname und andere Details werden angezeigt.

  2. So rufen Sie Informationen zum Skript subscriber ab:

python subscriber.py -h

Ausgabe:

usage: subscriber.py [-h] project {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} ... Diese Anwendung demonstriert, wie Sie mit der Cloud Pub/Sub API grundlegende Vorgänge für Abos durchführen können. Weitere Informationen finden Sie in der Datei „README.md“ unter „/pubsub“ und in der Dokumentation unter https://cloud.google.com/pubsub/docs. Positionsargumente: project Your Google Cloud project ID {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} list_in_topic Lists all subscriptions for a given topic. list_in_project Lists all subscriptions in the current project. create Create a new pull subscription on the given topic. create-push Create a new push subscription on the given topic. delete Deletes an existing Pub/Sub topic. update Updates an existing Pub/Sub subscription's push endpoint URL. Beachten Sie, dass bestimmte Attribute eines Abos, wie beispielsweise sein Thema, nicht geändert werden können. receive Receives messages from a pull subscription. receive-custom-attributes Receives messages from a pull subscription. receive-flow-control Receives messages from a pull subscription with flow control. receive-synchronously Pulling messages synchronously. listen_for_errors Receives messages and catches errors from a pull subscription. optionale Argumente: -h, --help show this help message and exit

Aufgabe 6: Nachrichten veröffentlichen

Nachdem Sie nun MyTopic (das Thema) und ein Abo für MyTopic (MySub) eingerichtet haben, können Sie mit gcloud-Befehlen eine Nachricht in MyTopic veröffentlichen.

  1. Veröffentlichen Sie die Nachricht „Hello“ unter MyTopic.
gcloud pubsub topics publish MyTopic --message "Hello"
  1. Veröffentlichen Sie nun ein paar weitere Nachrichten unter MyTopic. Führen Sie die folgenden Befehle aus. Ersetzen Sie dabei <YOUR NAME> durch Ihren Namen und <FOOD> durch ein Gericht, das Sie gerne essen:
gcloud pubsub topics publish MyTopic --message "Name des Publishers ist <YOUR NAME>" gcloud pubsub topics publish MyTopic --message "Der Publisher isst gerne <FOOD>" gcloud pubsub topics publish MyTopic --message "Publisher findet Pub/Sub toll"

Aufgabe 7: E-Mails ansehen

Nachdem Sie die Nachrichten unter „MyTopic“ veröffentlicht haben, können Sie sie mithilfe von MySub abrufen und ansehen.

  1. Verwenden Sie MySub, um die Nachricht aus MyTopic abzurufen:
python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub

Beispielausgabe:

Warten auf Nachrichten in projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub Empfangene Nachricht: Message { data: 'Publisher findet Pub/Sub toll' attributes: {} } Empfangene Nachricht: Message { data: 'Hello' attributes: {} } Received message: Message { data: "Name des Publishers ist Harry" attributes: {} } Received message: Message { data: 'Publisher isst gerne Käse' attributes: {} }
  1. Drücken Sie Strg+C, um das Abrufen der Nachrichten zu beenden.

Aufgabe 8: Testen Sie Ihr Wissen

Im Folgenden stellen wir Ihnen einige Multiple-Choice-Fragen, um Ihr bisher erworbenes Wissen zu testen und zu festigen. Beantworten Sie die Fragen so gut Sie können.

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

Sie haben Python verwendet, um ein Pub/Sub-Thema zu erstellen, eine Nachricht unter diesem Thema veröffentlicht, ein Abo eingerichtet und anschließend das Abo verwendet, um Daten aus dem Thema abzurufen.

Nächste Schritte / Weitere Informationen

Als Ergänzung zu Pub/Sub ist Pub/Sub Lite ein zonaler Dienst für Nachrichtensysteme mit vorhersehbaren Trafficmustern. Wenn Sie zwischen 1 MiB und 1 GiB Nachrichten pro Sekunde veröffentlichen, ist Pub/Sub Lite eine kostengünstige Option für die Aufnahme von Ereignissen in großen Volumen. Testen Sie Pub/Sub Lite mit diesem Lab:

Dieses Lab gehört zu der Reihe „Qwik Starts“. Die Labs geben Ihnen einen kleinen Vorgeschmack auf die vielen Funktionen von Google Cloud. Suchen Sie im Google Cloud Skills Boost-Katalog einfach nach „Qwik Starts“ und wählen Sie das nächste Lab aus, das Sie durchgehen möchten.

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 13. Februar 2024 aktualisiert

Lab zuletzt am 22. September 2023 getestet

© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.