Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Kurzanleitung: Ereignisse mit Pub/Sub-Nachrichten empfangen (Google Cloud CLI)

Ereignisse mit Pub/Sub-Nachrichten empfangen (gcloud-CLI)

In dieser Kurzanleitung erfahren Sie, wie Sie einen nicht authentifizierten Cloud Run-Dienst bereitstellen, der Ereignisse über Pub/Sub empfängt.

In dieser Kurzanleitung werden folgende Schritte erläutert:

  1. Ereignisempfängerdienst für Cloud Run bereitstellen

  2. Eventarc-Trigger erstellen

  3. Eine Nachricht in einem Pub/Sub-Thema veröffentlichen, um ein Ereignis zu generieren und in den Logs von Cloud Run aufzurufen

Hinweis

Einige der Schritte in diesem Dokument funktionieren möglicherweise nicht richtig, wenn Ihre Organisation Einschränkungen auf Ihre Google Cloud-Umgebung anwendet. In diesem Fall können Sie möglicherweise keine Aufgaben wie das Erstellen öffentlicher IP-Adressen oder Dienstkontoschlüssel ausführen. Wenn Sie eine Anfrage stellen, die einen Fehler zu Einschränkungen zurückgibt, lesen Sie, wie Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln werden.

  1. 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.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  4. Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc APIs aktivieren.

    Aktivieren Sie die APIs

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  7. Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc APIs aktivieren.

    Aktivieren Sie die APIs

  8. Installieren und initialisieren Sie das Google Cloud CLI.
  9. Aktualisieren Sie die gcloud-Komponenten:
    gcloud components update
  10. Melden Sie sich mit Ihrem Konto an:
    gcloud auth login
  11. Legen Sie die in dieser Kurzanleitung verwendeten Konfigurationsvariablen fest:

    gcloud config set project PROJECT_ID
    gcloud config set run/region us-central1
    gcloud config set run/platform managed
    gcloud config set eventarc/location us-central1
    

    Dabei ist PROJECT_ID Ihre Google Cloud-Projekt-ID.

Ereignisempfänger für Cloud Run bereitstellen

Stellen Sie einen Cloud Run-Dienst bereit, der Ereignisse empfängt und loggt.

  1. Klonen Sie das Repository:

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

    Go

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

    Java

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

    Ruby

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

    C#

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

  2. Wechseln Sie in das Verzeichnis, das den Cloud Run-Beispielcode enthält:

    Node.js

    cd nodejs-docs-samples/eventarc/pubsub/

    Python

    cd python-docs-samples/eventarc/pubsub/

    Go

    cd golang-samples/eventarc/pubsub/

    Java

    cd java-docs-samples/eventarc/pubsub/

    Ruby

    cd ruby-docs-samples/eventarc/pubsub/

    C#

    cd dotnet-docs-samples/eventarc/pubsub/
  3. Erstellen Sie den Container und laden Sie ihn in Cloud Build hoch:

    gcloud builds submit --tag gcr.io/$(gcloud config get-value project)/events-pubsub
    
  4. Stellen Sie das Container-Image in Cloud Run bereit:

    gcloud run deploy helloworld-events-pubsub-quickstart \
        --image gcr.io/$(gcloud config get-value project)/events-pubsub \
        --allow-unauthenticated
    

Wenn die Dienst-URL angezeigt wird, wurde sie erfolgreich bereitgestellt.

Eventarc-Trigger erstellen

Der Ereignistrigger sendet Nachrichten an den in Cloud Run bereitgestellten Ereignisempfänger, wenn eine Nachricht im Pub/Sub-Thema veröffentlicht wird.

  1. Erstellen Sie einen Trigger, um Pub/Sub-Nachrichten zu überwachen:

    Neues Pub/Sub-Thema

    gcloud eventarc triggers create events-pubsub-trigger \
      --destination-run-service=helloworld-events-pubsub-quickstart \
      --destination-run-region=us-central1 \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished"
    

    Dadurch werden ein neues Pub/Sub-Thema und ein Trigger events-pubsub-trigger für das Thema erstellt.

    Vorhandenes Pub/Sub-Thema

    gcloud eventarc triggers create events-pubsub-trigger \
      --destination-run-service=helloworld-events-pubsub-quickstart \
      --destination-run-region=us-central1 \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
      --transport-topic=projects/PROJECT_ID/topics/TOPIC_ID
    

    Dabei gilt:

    • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
    • TOPIC_ID ist die ID des vorhandenen Pub/Sub-Themas.

    Damit wird ein Trigger mit dem Namen events-pubsub-trigger für das vorhandene Pub/Sub-Thema erstellt.

  2. So prüfen Sie, ob der Trigger erfolgreich erstellt wurde:

    gcloud eventarc triggers list --location=us-central1
    

Ereignisse in einem Pub/Sub-Thema senden und ansehen

Eventarc-Ereignisse sind Nachrichten, die in einem Pub/Sub-Thema veröffentlicht werden. So senden Sie Ereignisse über ein Pub/Sub-Thema:

  1. Suchen Sie das Pub/Sub-Thema und legen Sie es als Umgebungsvariable fest:

    export RUN_TOPIC=$(gcloud eventarc triggers describe events-pubsub-trigger \
        --format='value(transport.pubsub.topic)')
    
  2. Senden Sie eine Nachricht an das Pub/Sub-Thema, um ein Ereignis zu generieren:

    gcloud pubsub topics publish $RUN_TOPIC --message "Runner"
    

    Das Ereignis wird an den Cloud Run-Dienst gesendet, der die Ereignisnachricht loggt.

  3. Öffnen Sie die Cloud Run-Dienstlogs, um die Ereignisnachricht anzusehen:

    1. Öffnen Sie die Google Cloud Console.
    2. Klicken Sie auf den Dienst helloworld-events-pubsub-quickstart.
    3. Wählen Sie den Tab Logs aus.

      Es kann einige Momente dauern, bis Logs angezeigt werden. Falls sie nicht sofort angezeigt werden, warten Sie kurz ab und sehen Sie dann noch einmal nach.

  4. Suchen Sie nach der Nachricht „Hello Runner!“.

Das war's auch schon! Sie haben einen Ereignisempfängerdienst in Cloud Run erfolgreich bereitgestellt, einen Eventarc-Trigger erstellt sowie ein Ereignis über Pub/Sub generiert und in den Cloud Run-Logs angesehen.

Bereinigen

Für Cloud Run fallen keine Kosten an, wenn der Dienst nicht verwendet wird. Allerdings können für das Speichern des Container-Images in Container Registry, die Eventarc-Ressourcen und die Pub/Sub-Nachrichten Gebühren berechnet werden.

Sie können das Image löschen, das Pub/Sub-Thema löschen und das Pub/Sub-Abo löschen. So löschen Sie den Eventarc-Trigger:

gcloud eventarc triggers delete events-pubsub-trigger

Alternativ können Sie Ihr Google Cloud-Projekt löschen, um wiederkehrende Gebühren zu vermeiden. Durch das Löschen des Cloudprojekts wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte