Direkte Ereignisse von Cloud Storage erhalten (Google Cloud Console)

In dieser Kurzanleitung erfahren Sie, wie Sie direkte Ereignisse von Cloud Storage in einem nicht authentifizierten Cloud Run-Dienst empfangen.

Sie können das Auslösen von Benachrichtigungen als Reaktion auf verschiedene Ereignisse innerhalb eines Cloud Storage-Buckets konfigurieren: Objekterstellung, Löschen, Archivieren und Aktualisieren von Metadaten. Weitere Informationen finden Sie unter Trigger zum Weiterleiten von Cloud Storage-Ereignissen an Cloud Run erstellen.

Sie können diese Kurzanleitung mit der Google Cloud Console ausführen. Eine Anleitung zur Verwendung der Google Cloud CLI finden Sie unter Direkte Ereignisse von Cloud Storage erhalten (gcloud-CLI).

In dieser Kurzanleitung werden folgende Schritte erläutert:

  1. Cloud Storage-Bucket als Ereignisquelle erstellen

  2. Beispieldienst in Cloud Run bereitstellen, um Ereignisse zu empfangen

  3. einen Eventarc-Trigger erstellen, um Ereignisse zu filtern und weiterzuleiten

  4. Laden Sie eine Datei in den Cloud Storage-Bucket hoch, um ein Ereignis zu erstellen und es in den Cloud Run-Logs aufzurufen.


Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.

Anleitung


Hinweise

Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln.

  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 Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Build and 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 Google Cloud-Projekt muss aktiviert sein.

  7. Cloud Build and Eventarc APIs aktivieren.

    Aktivieren Sie die APIs

Cloud Storage-Bucket erstellen

In dieser Kurzanleitung wird Cloud Storage als Ereignisquelle verwendet.

  1. Wechseln Sie in der Google Cloud Console zum Cloud Storage-Browser.

    Cloud Storage aufrufen

  2. Klicken Sie auf  Erstellen.

  3. Geben Sie einen eindeutigen Namen für den Bucket ein.

    Beispiel: hello-bucket.

  4. Klicken Sie auf Weiter.

  5. Wählen Sie als Standorttyp die Option Region und dann us-central1 (Iowa) aus.

  6. Übernehmen Sie die anderen Standardeinstellungen.

  7. Klicken Sie auf Erstellen.

Nachdem die Ereignisquelle erstellt wurde, können Sie den Ereignisempfängerdienst in Cloud Run bereitstellen.

Dienst zum Empfangen von Ereignissen in Cloud Run bereitstellen

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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Zu Cloud Run

  2. Klicken Sie auf DIENST ERSTELLEN.

  3. Im Formular Dienst erstellen:

    1. Wählen Sie Überarbeitung aus dem vorhandenen Container-Image bereitstellen.

    2. Klicken Sie auf Test mit einem Beispiel-Container.

    3. Wählen Sie in der Liste Region als Standort des Dienstes us-central1 (Iowa) aus.

    4. Wählen Sie unter Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.

    5. Klicken Sie auf Erstellen, um das Beispiel-Container-Image bereitzustellen.

Die Bereitstellung des hello-Dienstes kann bis zu zwei Minuten dauern.

Eventarc-Trigger erstellen

Der Eventarc-Trigger sendet Ereignisse aus dem Cloud Storage-Bucket an den Cloud Run-Beispieldienst.

  1. Rufen Sie in der Google Cloud Console die Seite Eventarc auf.

    Zur Seite "Trigger"

  2. Klicken Sie auf Trigger erstellen.

  3. Geben Sie einen Triggernamen ein.

    Beispiel: hello-trigger.

  4. Wählen Sie einen Triggertyp aus:

    • Eigene: Filtert Ereignisse, die von Google Cloud-Anbietern (direkt oder über Cloud-Audit-Logs) oder Anbietern mit Pub/Sub-Nachrichten gesendet werden.
    • Drittanbieter: Filtert Ereignisse, die von Drittanbietern gesendet werden.
  5. Wählen Sie in der Liste Ereignisanbieter die Option Google-Quellen > Cloud Storage aus.

  6. Wählen Sie in der Liste Ereignis die Option Direkt > google.cloud.storage.object.v1.finalized aus.

  7. Wählen Sie unter Bucket den zuvor erstellten Cloud Storage-Bucket hello-bucket aus.

  8. Wenn Sie dazu aufgefordert werden, erteilen Sie Folgendes:

    • Rolle iam.serviceAccountTokenCreator dem Pub/Sub-Dienstkonto
    • Rolle pubsub.publisher dem Cloud Storage-Dienstkonto
  9. Verwenden Sie das Compute-Standarddienstkonto als Dienstkonto, das Ihren Dienst aufruft.

  10. Wählen Sie in der Liste Ereignisziel die Option Cloud Run aus.

  11. Wählen Sie unter Cloud Run-Dienst den zuvor erstellten Beispieldienst hello aus.

  12. Klicken Sie auf Erstellen.

Es kann einige Minuten dauern, bis alle erforderlichen Berechtigungen an den Eventarc-Dienst-Agent weitergegeben wurden. Wenn Sie den Fehler Permission denied while using the Eventarc Service Agent erhalten, warten Sie einige Minuten und versuchen Sie es dann noch einmal. Nachdem ein Trigger erstellt wurde, kann es bis zu zwei Minuten dauern, bis er voll funktionsfähig ist.

Ereignis erstellen und abrufen

Generieren Sie ein Ereignis und prüfen Sie, ob der Eventarc-Trigger wie erwartet funktioniert.

  1. So erstellen Sie ein Ereignis:

    1. Erstellen Sie eine Textdatei mit dem Dateinamen random.txt und dem Text „Hello World“.

    2. Wechseln Sie in der Google Cloud Console zur Cloud Storage-Seite.

      Buckets aufrufen

    3. Klicken Sie auf den Namen des Storage-Buckets, den Sie erstellt haben.

    4. Klicken Sie auf dem Tab Objekte auf Dateien hochladen und laden Sie die Datei random.txt hoch.

    Beim Upload wird ein Ereignis erstellt und der Cloud Run-Dienst loggt die Nachricht des Ereignisses.

  2. So rufen Sie den Logeintrag auf:

    1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

      Zu Cloud Run

    2. Klicken Sie auf den Namen des Dienstes, den Sie erstellt haben.

    3. Klicken Sie auf der Seite Dienstdetails auf den Tab Logs, um die Logeinträge für alle Überarbeitungen dieses Dienstes abzurufen. Sie können nach Logschweregrad filtern.

    4. Suchen Sie nach einem Logeintrag wie dem folgenden:

      Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]

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

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

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 Cloud Run-Ressourcen und das Speichern von Dateien im Cloud Storage-Bucket Gebühren berechnet werden.

Sie können Ihr Image löschen, Ihren Storage-Bucket löschen und Ihren Dienst löschen.

So löschen Sie den Eventarc-Trigger:

  1. Rufen Sie in der Google Cloud Console die Seite Eventarc auf.

    Zur Seite "Trigger"

  2. Klicken Sie auf den Namen des Triggers, den Sie erstellt haben.

  3. Klicken Sie auf der Seite Triggerdetails auf Löschen.

Alternativ können Sie Ihr Google Cloud-Projekt löschen, um wiederkehrende Gebühren zu vermeiden. Wenn Sie Ihr Google Cloud-Projekt löschen, 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