Ereignisgesteuerte Cloud Run-Funktion planen

In dieser Anleitung erfahren Sie, wie Sie eine ereignisgesteuerte Cloud Run Functions-Funktion mit Cloud Scheduler auslösen, indem Sie ein Pub/Sub-Thema als Ziel verwenden. Verwenden Sie eine ereignisgesteuerte Funktion, wenn Ihre Funktion direkt als Reaktion auf Ereignisse in Ihrem Google Cloud -Projekt ausgelöst werden soll, z. B. Nachrichten in einem Pub/Sub-Thema oder Änderungen in einem Cloud Storage-Bucket.

Sie können auch eine HTTP-Funktion planen, indem Sie den HTTP-Endpunkt der Funktion als Ziel angeben. Verwenden Sie eine HTTP-Funktion, wenn Ihre Funktion einen URL-Endpunkt haben und auf HTTP-Anfragen antworten muss, z. B. für Webhooks. Weitere Informationen finden Sie unter Typen von Cloud Run-Funktionen.

Cloud Scheduler wird häufig dazu verwendet, die Ausführung einer Cloud Run-Funktion zu planen. In dieser Anleitung wird Folgendes beschrieben:

  1. Erstellen Sie eine einfache Cloud Run-Funktion, die ein Pub/Sub-Thema abonniert.
  2. Erstellen Sie einen Cloud Scheduler-Job, der eine Nachricht im Pub/Sub-Thema veröffentlicht.
  3. Führen Sie den Cloud Scheduler-Job aus.
  4. Prüfen Sie, ob die Cloud Run-Funktion durch den Cloud Scheduler-Job ausgelöst wurde.

Ereignisgesteuerte Cloud Run-Funktion erstellen

Erstellen Sie eine ereignisgesteuerte Funktion, die direkt als Reaktion auf Ereignisse in Ihrem Google Cloud -Projekt ausgelöst wird. In diesem Fall ist das eine Nachricht, die in einem Pub/Sub-Thema veröffentlicht wird.

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

    Zu den Cloud Run-Funktionen

  2. Klicken Sie auf  Funktion erstellen.

  3. Führen Sie im Abschnitt Grundlagen folgende Schritte aus:

    1. Wählen Sie in der Liste Umgebung die Option 2. Generation aus.
    2. Geben Sie einen Namen für die Funktion ein.
    3. Wählen Sie in der Liste Region eine Region aus.
  4. Führen Sie im Abschnitt Trigger folgende Schritte aus:

    1. Wählen Sie in der Liste Triggertyp die Option Cloud Pub/Sub aus.
    2. Wählen Sie in der Liste Cloud Pub/Sub-Thema ein vorhandenes Thema aus oder klicken Sie auf Thema erstellen, um ein neues Thema zu erstellen. Notieren Sie sich den Namen des Themas, da Sie ihn in einem späteren Schritt benötigen.
    3. Klicken Sie auf Weitere Optionen.

      Der Bereich Eventarc-Trigger wird geöffnet.

  5. Führen Sie im Bereich Eventarc-Trigger die folgenden Schritte aus:

    1. Wenn Sie aufgefordert werden, dem Pub/Sub-Dienst die Berechtigung zum Erstellen der Identitätstokens zu erteilen, die zum Aufrufen der Funktion erforderlich sind, klicken Sie auf Gewähren.
    2. Wählen Sie in der Liste Dienstkonto das zuvor erstellte Dienstkonto aus.
    3. Übernehmen Sie die anderen Standardeinstellungen.
    4. Klicken Sie auf Trigger speichern.

      Der Bereich Eventarc-Trigger wird geschlossen.

  6. Übernehmen Sie die anderen Standardeinstellungen und klicken Sie auf Weiter.

  7. Ändern Sie die Standardsprache der Laufzeit und den Beispielcode nicht. Im Code werden keine Cloud-Dienste verwendet und es sind keine zusätzlichen Berechtigungen erforderlich. Klicken Sie auf Bereitstellen.

Cloud Scheduler-Job erstellen

Erstellen Sie einen Cloud Scheduler-Job mit einem Pub/Sub-Ziel.

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

    Zu Cloud Scheduler

  2. Klicken Sie auf  Job erstellen.

  3. Geben Sie einen Namen für den Job ein.

  4. Wählen Sie in der Liste Region eine Region aus.

  5. Geben Sie die Häufigkeit der Ausführung des Jobs im Format „unix-cron“ an:

    30 16 * * 7
    

    Weitere Informationen finden Sie unter Cronjob-Format und Zeitzone.

  6. Wählen Sie in der Liste Zeitzone eine Zeitzone aus.

  7. Klicken Sie auf Weiter.

  8. Wählen Sie in der Liste Zieltyp die Option Pub/Sub aus.

  9. Wählen Sie das Pub/Sub-Thema aus, das Sie zuvor erstellt haben.

  10. Geben Sie im Feld Nachrichtentext einen String ein, der an das Pub/Sub-Zielthema gesendet werden soll. Beispiel: „Hallo Welt!“

  11. Klicken Sie auf Erstellen.

Sie haben einen Cronjob erstellt, der sonntags um 16:30 Uhr eine Nachricht an Ihr Pub/Sub-Thema sendet. Ihre Cloud Run-Funktion hat dieses Thema abonniert.

Cloud Scheduler-Job ausführen

Sie können den erstellten Job jetzt ausführen.

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Scheduler“ auf.

    Zu Cloud Scheduler

  2. Klicken Sie das Kästchen für den von Ihnen erstellten Job an und klicken Sie auf Ausführung erzwingen.

    Beim ersten Aufruf kann es einige Minuten dauern, bis der erste in einem Projekt erstellte Job konfiguriert und ausgeführt wird.

  3. Nachdem der Job ausgeführt wurde, sollte im Status der letzten Ausführung Success angezeigt werden.

Ergebnisse in Cloud Run Functions prüfen

Sie können überprüfen, ob Ihre Cloud Run-Funktion erfolgreich von Ihrem Cronjob ausgelöst und ausgeführt wird.

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

    Zu den Cloud Run-Funktionen

  2. Klicken Sie auf den Funktionsnamen.

    Die Seite Funktionsdetails wird geöffnet und im Diagramm Aufrufe/Sekunde wird der erste Aufruf der Funktion angezeigt.

  3. Klicken Sie auf den Tab Logs.

    Es sollte ein Logeintrag wie Hello, YOUR_STRING! angezeigt werden.