Eventarc-Trigger
Mit einem Eventarc-Trigger kann eine Funktion von jedem von Eventarc unterstützten Ereignistyp ausgelöst werden. Sie geben Ereignisfilter an, wenn Sie einen Eventarc-Trigger für eine Funktion angeben. Die Funktion wird aufgerufen, wenn ein Ereignis eintritt, das den Filtern entspricht.
Für ereignisgesteuerte Funktionen in Cloud Run-Funktionen werden Eventarc-Trigger verwendet. Weitere Informationen finden Sie in der Eventarc-Dokumentation unter Eventarc-Trigger. Eine Liste der unterstützten Ereignistypen finden Sie unter Von Eventarc unterstützte Ereignistypen.
Damit eine Funktion einen Eventarc-Trigger verwenden kann, muss sie als CloudEvent-Funktion implementiert werden. Die Ereignisdaten werden im CloudEvents-Format an Ihre Funktion übergeben, wobei eine CloudEvent-Datennutzlast dem Ereignistyp entspricht. Das Repository Google Events enthält zusätzliche Ressourcen für die Arbeit mit Ereignisdaten.
Triggerstandort
Eventarc-Trigger sind mit bestimmten Standorten verknüpft. Im Allgemeinen sollte der Standort eines Eventarc-Triggers mit dem Standort der Google Cloud-Ressource übereinstimmen, die Sie auf Ereignisse überwachen möchten. In den meisten Szenarien sollten Sie Ihre Cloud Run-Funktion auch in derselben Region bereitstellen. Weitere Informationen zu Eventarc-Triggerstandorten finden Sie unter Informationen zu Eventarc-Standorten.
Triggeridentität
Eventarc-Trigger sind mit Dienstkonten verknüpft, um beim Aufrufen Ihrer Funktion als Identität zu verwenden. Das Dienstkonto Ihres Eventarc-Triggers muss die Berechtigung zum Aufrufen Ihrer Funktion haben. Möglicherweise müssen Sie prüfen, ob das Standarddienstkonto für die Compute Engine die richtigen Berechtigungen zum Aufrufen Ihrer Funktion hat.
Bereitstellung
Sie können einen Eventarc-Trigger angeben, wenn Sie eine Funktion bereitstellen. Allgemeine Anleitungen zum Bereitstellen einer Funktion finden Sie unter Cloud Run Functions-Funktion bereitstellen. In diesem Abschnitt wird beschrieben, wie Sie einen Eventarc-Trigger konfigurieren, der eine Funktion aufruft, wenn während der Bereitstellung ein Ereignis auftritt, das den Filtern entspricht.
gcloud
Wenn Sie die gcloud CLI bereitstellen, werden die unten aufgeführten Flags zum Konfigurieren von Eventarc-Triggern verwendet:
gcloud functions deploy YOUR_FUNCTION_NAME \ --gen2 \ --trigger-event-filters="type=EVENTARC_FILTER_TYPE" \ [--trigger-event-filters=EVENTARC_EVENT_FILTER] \ [--trigger-event-filters-path-pattern=EVENTARC_EVENT_PATH_PATTERN] \ [--trigger-location=EVENTARC_TRIGGER_LOCATION] \ [--trigger-service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT] \ [--retry] \ ...
- Das Flag
--gen2
gibt an, dass Sie die Bereitstellung in Cloud Run-Funktionen vornehmen. Für Eventarc-Trigger müssen Sie Cloud Run-Funktionen verwenden. Das Flag
--trigger-event-filters
gibt die Ereignisfilter an, die der Trigger überwacht. Ein Ereignis, das mit allen Filtern übereinstimmt, löst Aufrufe Ihrer Funktion aus.- Erforderlich: Jeder Trigger muss einen unterstützten Ereignistyp vom Typ
--event-filters="type=EVENTARC_FILTER_TYPE"
haben. Dieser Ereignistyp kann nach dem Erstellen nicht mehr geändert werden. Wenn SieEVENT_FILTER_TYPE
ändern möchten, erstellen Sie einen neuen Trigger und löschen Sie den alten. - Optional: Sie können das Flag
--trigger-event-filters
mit einem unterstützten Filter im FormatATTRIBUTE=VALUE
wiederholen, um weitere Filter hinzuzufügen.
- Erforderlich: Jeder Trigger muss einen unterstützten Ereignistyp vom Typ
Das Flag
--trigger-event-filters-path-pattern
gibt die Ereignisfilter an, die der Trigger im Pfadmusterformat überwacht. Der Filter muss das FormatATTRIBUTE=VALUE
haben. Weitere Informationen finden Sie unter Informationen zu Pfadmustern.Das Flag
--trigger-location
gibt einen Speicherort für den Eventarc-Trigger an. Weitere Informationen finden Sie unter Trigger-Speicherort. Wenn keine Angabe erfolgt, wird die Region der Funktion als Triggerstandort verwendet.Das Flag
--trigger-service-account
gibt ein Dienstkonto an, das als Identität für den Eventarc-Trigger verwendet werden soll. Weitere Informationen finden Sie unter Triggeridentität.Mit dem Flag
--retry
wird gesteuert, ob fehlgeschlagene Funktionsaufrufe automatisch wiederholt werden. Weitere Informationen finden Sie unter Ereignisgesteuerte Funktionen wiederholen.
Wenn Sie einen Trigger für ein direktes Pub/Sub- oder Cloud Storage-Ereignis erstellen, lesen Sie die Anleitung zur gcloud CLI, um einen Pub/Sub- bzw. Cloud Storage-Trigger zu konfigurieren.
Die Eventarc-Dokumentation enthält Beispiele für die Angabe von Ereignisfiltern für verschiedene Ereignistypen. Weitere Informationen finden Sie in der Anleitung zum Erstellen eines Triggers für einen bestimmten Anbieter und Ereignistyp und ein bestimmtes Ziel.
Console
Wenn Sie die Bereitstellung mit der Google Cloud Console vornehmen, müssen Sie als Umgebung 2. Generation auswählen. Anschließend können Sie einen Eventarc-Trigger im Abschnitt Trigger konfigurieren.
Klicken Sie auf Trigger hinzufügen, um einen Ereignis-Trigger hinzuzufügen. Folgende Optionen werden angezeigt:
- Pub/Sub-Trigger
- Cloud Storage-Trigger
- Firestore-Trigger
- Anderer Trigger
Wenn Sie eine dieser Optionen auswählen, wird der Bereich Eventarc-Trigger geöffnet, in dem Sie die Details für den Trigger angeben können.
Wenn Sie einen Trigger für ein direktes Pub/Sub- oder Cloud Storage-Ereignis erstellen, lesen Sie die Anleitungen der Google Cloud Console, um einen Pub/Sub- bzw. Cloud Storage-Trigger zu konfigurieren.
Wenn Sie Anderer Trigger auswählen, geben Sie im Feld Triggertyp im Bereich Eventarc-Trigger eine der Google-Quellen, Benutzerdefiniert oder Drittanbieter ein.
Mit Google-Quellen können Sie Trigger für Pub/Sub, Cloud Storage, Firestore und andere Google-Ereignisanbieter angeben. Verwenden Sie im Bereich Eventarc-Trigger das Feld Ereignisanbieter, um das Produkt auszuwählen, das den Ereignistyp angibt, den Sie für das Auslösen Ihrer Funktion benötigen. Wählen Sie dann im Feld Ereignis das Ereignis aus, das Sie als Trigger verwenden möchten.
Mit der Option Benutzerdefiniert können Sie Ereignisse aus Ihrem Anwendungscode erstellen und verarbeiten. Folgen Sie der Anleitung im Bereich Eventarc-Trigger, um einen Kanal zu erstellen. Ein Kanal ist eine Ressource, die als Pipeline verwendet wird, um benutzerdefinierte Ereignisse von Erstellern an Nutzer bereitzustellen. Benutzerdefinierte Ereignisse werden in einem Kanal veröffentlicht und ein Eventarc-Trigger abonniert diese Ereignisse.
Die Option Drittanbieter ermöglicht die Einbindung in Nicht-Google-Anbieter, die eine Eventarc-Quelle anbieten. Weitere Informationen finden Sie unter Drittanbieterereignisse in Eventarc.
Wählen Sie im Feld Region einen Speicherort für den Eventarc-Trigger aus, falls vorhanden. Weitere Informationen finden Sie unter Triggerstandort.
Wählen Sie optional im Feld Dienstkonto ein Dienstkonto aus, das als Identität des Eventarc-Triggers verwendet werden soll. Weitere Informationen finden Sie unter Triggeridentität.
Aktivieren oder deaktivieren Sie das Kästchen Bei Fehler noch einmal versuchen, um zu steuern, ob fehlgeschlagene Funktionsaufrufe automatisch wiederholt werden. Weitere Informationen finden Sie unter Ereignisgesteuerte Funktionen wiederholen.
Klicken Sie auf Trigger speichern.
Weitere Informationen
- Ereignisgesteuerte Funktionen schreiben
- Erfahren Sie mehr über das Bereitstellen einer Cloud Run Functions-Funktion.
- In den folgenden Anleitungen finden Sie Beispiele für das Schreiben, Bereitstellen und Aufrufen von Funktionen mit einem Eventarc-Trigger: