Direkte Ereignisse von Cloud Storage erhalten (Console)
In dieser Kurzanleitung erfahren Sie, wie Sie direkte Ereignisse von Cloud Storage in einem nicht authentifizierten Cloud Run-Dienst empfangen.
Sie können diese Kurzanleitung mit der Console ausführen. Eine Anleitung zur Verwendung der Google Cloud CLI finden Sie unter Ereignisse mit Cloud-Audit-Logs empfangen (gcloud-CLI).
In dieser Kurzanleitung werden folgende Schritte erläutert:
Cloud Storage-Bucket als Ereignisquelle erstellen
einen Ereignisempfängerdienst für Cloud Run bereitstellen
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.
Eine detaillierte Anleitung zu dieser Aufgabe finden Sie direkt in der Console. Klicken Sie dazu einfach auf Anleitung:
Die folgenden Abschnitte führen Sie durch dieselben Schritte wie das Klicken auf Anleitung.
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.
- 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.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Cloud Build and Eventarc APIs aktivieren.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Cloud Build and Eventarc APIs aktivieren.
Cloud Storage-Bucket erstellen
In dieser Kurzanleitung wird Cloud Storage als Ereignisquelle verwendet.Rufen Sie in der Console Cloud Storage auf.
Klicken Sie auf
Bucket erstellen.Geben Sie einen eindeutigen Namen für den Bucket ein. Beispiel:
helloworld-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-Dienst bereit, der Ereignisse empfängt und loggt.
Erstellen Sie eine Verzweigung des Beispiel-Repositorys zu Ihrem GitHub-Konto:
Go
Rufen Sie in GitHub GoogleCloudPlatform/golang-samples auf.
Klicken Sie auf Fork.
Wählen Sie bei entsprechender Aufforderung den Speicherort für das Repository aus.
Java
Rufen Sie in GitHub GoogleCloudPlatform/java-docs-samples auf.
Klicken Sie auf Fork.
Wählen Sie bei entsprechender Aufforderung den Speicherort für das Repository aus.
.NET
Rufen Sie in GitHub GoogleCloudPlatform/dotnet-docs-samples auf.
Klicken Sie auf Fork.
Wählen Sie bei entsprechender Aufforderung den Speicherort für das Repository aus.
Node.js
Rufen Sie in GitHub GoogleCloudPlatform/nodejs-docs-samples auf.
Klicken Sie auf Fork.
Wählen Sie bei entsprechender Aufforderung den Speicherort für das Repository aus.
Python
Rufen Sie in GitHub GoogleCloudPlatform/python-docs-samples auf.
Klicken Sie auf Fork.
Wählen Sie bei entsprechender Aufforderung den Speicherort für das Repository aus.
Rufen Sie in der Console Cloud Run auf.
Klicken Sie auf
DIENST ERSTELLEN.Wählen Sie im Formular Dienst erstellen die Option Neue Überarbeitungen aus einem Quell-Repository kontinuierlich bereitstellen aus.
Klicken Sie auf Mit Cloud Build einrichten.
Führen Sie im Formular Mit Cloud Build einrichten die folgenden Schritte aus:
- Aktivieren Sie bei entsprechender Aufforderung die Cloud Build API.
Wählen Sie in der Liste Repository-Anbieter die Option GitHub aus.
Wählen Sie in der Liste Repository das GitHub-Repository aus, das Sie verzweigt haben.
Klicken Sie nach der Auswahl des GitHub-Kontos und des Repositorys das Kästchen an, um die Bedingungen des Haftungsausschlusses zu akzeptieren, und klicken Sie dann auf Weiter.
Behalten Sie für das Feld Zweig den Wert
^main$
bei.Wählen Sie für den Build-Typ die Option Dockerfile aus und geben Sie den Quellspeicherort des Dockerfile an:
eventarc/audit-storage/Dockerfile
Oder für das Go-Beispiel:
eventarc/audit_storage/Dockerfile
Klicken Sie auf Speichern.
Geben Sie im Formular Dienst erstellen einen Dienstnamen ein. Beispiel:
helloworld-events
Akzeptieren Sie die Standardeinstellung Region als Dienstspeicherort. Beispiel: us-central1(Iowa).
Übernehmen Sie die Standardwerte für CPU-Zuweisung und -Preise und Autoscaling.
Wählen Sie im Bereich Eingehender Traffic die Option Gesamten Traffic zulassen aus.
Wählen Sie im Bereich Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.
Klicken Sie auf Erstellen.
Eventarc-Trigger erstellen
Der Eventarc-Trigger sendet Ereignisse aus dem Cloud Storage-Bucket an den Cloud Run-Diensthelloworld-events
.
Rufen Sie in der Console die Seite Eventarc auf.
Klicken Sie auf
Trigger erstellen.Geben Sie einen Triggernamen ein.
z. B.
helloworld-trigger
.Wählen Sie in der Liste Ereignisanbieter die Option Google-Quellen > Cloud Storage aus.
Wählen Sie in der Liste Ereignis die Option Direkt > google.cloud.storage.object.v1.finalized aus. finden Sie weitere Informationen.
Geben Sie unter Bucket den zuvor erstellten Cloud Storage-Bucket helloworld-bucket an.
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 für den Cloud Run-Dienst den zuvor erstellten Dienst helloworld-Events aus.
Klicken Sie auf Erstellen.
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“.Rufen Sie in der Console Cloud Storage auf.
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:
Rufen Sie in der Console Cloud Run auf.
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: [...]
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:
Rufen Sie in der Console die Seite Eventarc 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. Durch das Löschen des Cloudprojekts wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.