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:
Cloud Storage-Bucket als Ereignisquelle erstellen
Beispieldienst in Cloud Run bereitstellen, um Ereignisse zu empfangen
einen Eventarc-Trigger erstellen, um Ereignisse zu filtern und weiterzuleiten
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.
Vorbereitung
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.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Cloud Storage-Bucket erstellen
In dieser Kurzanleitung wird Cloud Storage als Ereignisquelle verwendet.Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf
Erstellen.Geben Sie einen eindeutigen Namen für den Bucket ein.
Beispiel:
hello-bucket
.Klicken Sie auf Weiter.
Wählen Sie als Standorttyp die Option Region und dann us-central1 (Iowa) aus.
Übernehmen Sie die anderen Standardeinstellungen.
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.
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:
Klicken Sie auf
DIENST ERSTELLEN.Im Formular Dienst erstellen:
Wählen Sie Überarbeitung aus dem vorhandenen Container-Image bereitstellen.
Klicken Sie auf Test mit einem Beispiel-Container.
Wählen Sie in der Liste Region als Standort des Dienstes us-central1 (Iowa) aus.
Wählen Sie unter Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.
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.Rufen Sie in der Google Cloud Console die Seite mit den Eventarc-Triggern auf.
Klicken Sie auf
Trigger erstellen.Geben Sie einen Triggernamen ein.
Beispiel:
hello-trigger
.Wählen Sie in der Liste Triggertyp die Option Google-Quellen aus.
Diese Option filtert Ereignisse, die von Google Cloud-Anbietern (direkt oder über Cloud-Audit-Logs) oder Anbietern mit Pub/Sub-Nachrichten gesendet werden.
Wählen Sie im Feld Ereignisanbieter die Option Cloud Storage aus.
Wählen Sie in der Liste Ereignis die Option Direkt > google.cloud.storage.object.v1.finalized aus.
Wählen Sie unter Bucket den zuvor erstellten Cloud Storage-Bucket hello-bucket aus.
Wenn Sie dazu aufgefordert werden, erteilen Sie Folgendes:
- Rolle
iam.serviceAccountTokenCreator
dem Pub/Sub-Dienstkonto - Rolle
pubsub.publisher
dem Cloud Storage-Dienstkonto
- Rolle
Verwenden Sie das Compute-Standarddienstkonto als Dienstkonto, das Ihren Dienst aufruft.
Wählen Sie in der Liste Ereignisziel die Option Cloud Run aus.
Wählen Sie unter Cloud Run-Dienst den zuvor erstellten Beispieldienst hello aus.
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.
So erstellen Sie ein Ereignis:
Erstellen Sie eine Textdatei mit dem Dateinamen
random.txt
und dem Text „Hello World“.Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf den Namen des Storage-Buckets, den Sie erstellt haben.
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.
So rufen Sie den Logeintrag auf:
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:
Klicken Sie auf den Namen des Dienstes, den Sie erstellt haben.
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.
Suchen Sie nach einem Logeintrag wie dem folgenden:
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
Glückwunsch! 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:
Rufen Sie in der Google Cloud Console die Seite mit den Eventarc-Triggern auf.
Klicken Sie auf den Namen des Triggers, den Sie erstellt haben.
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.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.