Eventarc-Trigger

In Cloud Functions (2nd gen) kann ein Eventarc-Trigger dafür sorgen, dass eine Funktion von einem beliebigen von Eventarc unterstützten Ereignistyp ausgelöst werden kann. 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.

Alle ereignisgesteuerten Funktionen in Cloud Functions (2nd gen) verwenden Eventarc-Trigger. 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 Functions-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. Standardmäßig wird das Standarddienstkonto von Compute verwendet.

Deployment

Sie können einen Eventarc-Trigger angeben, wenn Sie eine Funktion bereitstellen. Allgemeine Anleitungen zum Bereitstellen einer Funktion finden Sie unter Cloud Functions-Funktion bereitstellen. In diesem Abschnitt wird beschrieben, wie Sie einen Eventarc-Trigger konfigurieren, der eine Funktion aufruft, wenn ein Ereignis, das den Filtern entspricht, während der Bereitstellung auftritt.

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 Functions (2. Generation) vornehmen. Für Eventarc-Trigger müssen Sie Cloud Functions (2. Generation) 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 im Format --event-filters="type=EVENTARC_FILTER_TYPE" haben. Dieser Ereignistyp kann nach der Erstellung nicht mehr geändert werden. Erstellen Sie einen neuen Trigger und löschen Sie den alten Trigger, um EVENT_FILTER_TYPE zu ändern.
    • Optional: Sie können das Flag --trigger-event-filters mit einem unterstützten Filter im Format ATTRIBUTE=VALUE wiederholen, um weitere Filter hinzuzufügen.
  • Das Flag --trigger-event-filters-path-pattern gibt die Ereignisfilter an, die der Trigger im Pfadmusterformat überwacht. Der Filter muss das Format ATTRIBUTE=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.

  1. Klicken Sie auf Trigger hinzufügen, um einen Ereignis-Trigger hinzuzufügen. Die folgenden 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.

  2. 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 den Eingabeaufforderungen 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.

  3. Wählen Sie im Feld Region einen Speicherort für den Eventarc-Trigger aus, falls vorhanden. Weitere Informationen finden Sie unter Triggerstandort.

  4. 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.

  5. 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.

  6. Klicken Sie auf Trigger speichern.

Weitere Informationen