Cloud Functions-Funktion planen

In dieser Anleitung erfahren Sie, wie Sie eine Cloud Functions-Funktion mit Cloud Scheduler und Pub/Sub auslösen. Die Ausführung einer Cloud Functions-Funktion planen zu können, ist ein häufiger Anwendungsfall für Cloud Scheduler. Sie werden Folgendes tun:

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

Hinweise

In dieser Anleitung wird davon ausgegangen, dass Sie die Kurzanleitung für Cloud Scheduler bereits durchgearbeitet haben. Daher stehen Ihnen die folgenden Tools und Ressourcen zur Verfügung:

  • Google Cloud-Projekt mit aktivierter Abrechnungsfunktion.

  • Die Cloud Scheduler API und die Pub/Sub API sind beide im Projekt aktiviert. Sie aktivieren die Cloud Functions API während der Anleitung.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

  • Cloud Functions
  • Pub/Sub
  • Cloud Scheduler

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Cloud Functions-Funktion mit einem Trigger erstellen

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

    Zu Cloud Functions

  2. Klicken Sie auf API aktivieren, wenn Sie dazu aufgefordert werden.

  3. Klicken Sie auf Funktion erstellen. Wenn Sie aufgefordert werden, APIs zu aktivieren, klicken Sie auf Aktivieren.

  4. Wählen Sie im Abschnitt Grundlagen die Umgebung 2nd gen aus, geben Sie einen Namen für die Funktion ein und wählen Sie eine Region aus.

  5. Wählen Sie im Bereich Trigger unter Triggertyp die Option Cloud Pub/Sub aus und klicken Sie dann auf Weitere Optionen. Der Bereich Eventarc-Trigger wird geöffnet. Wenn die Aufforderung Erforderliche APIs aktivieren angezeigt wird, klicken Sie auf Aktivieren.

  6. Achten Sie darauf, dass im Bereich Eventarc-Trigger die ersten Felder so ausgefüllt sind. Sie können ggf. auch die folgenden Felder ausfüllen:

    • Triggertyp:Google-Quellen
    • Ereignisanbieter:Cloud Pub/Sub
    • Ereignis: google.cloud.pubsub.topic.v1.messagePublished
  7. Wählen Sie im Feld Cloud Pub/Sub-Thema auswählen ein vorhandenes Thema aus oder klicken Sie auf Thema erstellen, um ein neues Thema zu erstellen. Ihre Funktion abonniert dieses Thema. Notieren Sie sich den Namen des Themas, denn Sie werden ihn später brauchen.

    • Klicken Sie auf Erteilen, wenn Sie dazu aufgefordert werden, damit der Pub/Sub-Dienst die zum Aufrufen der Funktion erforderlichen Identitätstokens erstellen kann.
  8. Klicken Sie im Feld Dienstkonto auf Neues Dienstkonto erstellen.

    1. Geben Sie einen Namen für das Dienstkonto ein und klicken Sie auf Erstellen. Eventarc verwendet dieses Dienstkonto, um die Funktion mit einem Identitätstoken aus dem Pub/Sub-Dienst aufzurufen.

    2. Wählen Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt gewähren die Rolle Cloud Run Invoker aus. Dadurch kann das Dienstkonto die Funktion der 2. Generation aufrufen.

    3. Klicken Sie auf Fertig.

  9. Lassen Sie die Option Bei Fehler noch einmal versuchen deaktiviert. Klicken Sie auf Trigger speichern.

  10. Maximieren Sie den Bereich Laufzeit, Build, Verbindungen und Sicherheitseinstellungen und wählen Sie den Tab Laufzeit aus.

  11. Klicken Sie unter Laufzeitdienstkonto im Feld Dienstkonto auf Erstellen. Der Vorgang zum Erstellen des Dienstkontos wird in einem neuen Tab geöffnet. Dieses Dienstkonto ist die Identität, die die Cloud Functions-Funktion hat, wenn sie ausgeführt wird.

    1. Geben Sie einen Namen für das Dienstkonto ein.
    2. Klicken Sie auf Erstellen und fortfahren.
    3. Klicken Sie auf Fertig.

    Sie werden zur Seite Dienstkonten der Google Cloud Console weitergeleitet. Sie können diesen Tab schließen.

  12. Kehren Sie auf der Seite zur Funktionserstellung zum Feld Dienstkonto zurück, klicken Sie auf Aktualisieren und wählen Sie das soeben erstellte Dienstkonto aus.

  13. Klicken Sie auf Next (Weiter). Wenn Sie zum Aktivieren aller erforderlichen APIs aufgefordert werden, klicken Sie auf Aktivieren.

  14. Die Standardsprache und den Beispielcode dürfen nicht geändert werden. Der Code verwendet keine Cloud-Dienste und erfordert keine Aktivierung zusätzlicher Berechtigungen. Klicken Sie auf Bereitstellen.

Cloud Scheduler-Job erstellen

  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, wählen Sie eine Region aus, in der der Job ausgeführt werden soll, und fügen Sie optional eine Beschreibung hinzu.

  4. Geben Sie die Häufigkeit für den Job im Format unix-cron an.

    30 16 * * 7
    

    Weitere Informationen finden Sie unter Zeitpläne für Cronjobs konfigurieren.

  5. Wählen Sie Ihre Zeitzone unter "Timezone" aus.

  6. Klicken Sie auf Weiter.

  7. Wählen Sie im Abschnitt Ausführung konfigurieren den Zieltyp Pub/Sub aus.

  8. Wählen Sie Ihr Pub/Sub-Thema aus.

  9. Fügen Sie einen kurzen Message-String hinzu, der an das Ziel gesendet werden soll.

  10. Klicken Sie auf Erstellen.

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

Job ausführen

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

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

    Zu Cloud Scheduler

  2. Wählen Sie den von Ihnen erstellten Job aus.

  3. Klicken Sie auf Ausführung erzwingen.

    Die Ausführung des ersten in einem Projekt erstellten Jobs kann aufgrund der erforderlichen Konfiguration beim ersten Aufruf einige Minuten dauern.

  4. Beachten Sie die Spalte Status der letzten Ausführung. Nachdem der Job ausgeführt wurde, sollte in dieser Spalte „Success“ angezeigt werden.

Glückwunsch! Sie haben gerade die Console verwendet, um die Ergebnisse der Ausführung eines Cronjobs anzuzeigen, der eine Nachricht an Pub/Sub sendet. Im nächsten Schritt prüfen Sie, ob Cloud Pub/Sub tatsächlich ausgeführt wurde.

Ergebnisse in Cloud Functions prüfen

So prüfen Sie, ob die Cloud Functions-Funktion erfolgreich durch Ihren Cronjob ausgelöst wird:

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Functions.

    Zu Cloud Functions

  2. Klicken Sie auf den Funktionsnamen.

  3. Die Seite Funktionsdetails wird geöffnet. Im Diagramm Aufrufe/Sekunde wird der erste Aufruf der Funktion angezeigt. Klicken Sie auf Logs, um Details zum Aufruf anzusehen.

Glückwunsch! Ihre Funktion wurde ausgeführt.

Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

Cloud Scheduler-Job löschen

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

    Zum Planer

  2. Klicken Sie auf das Kästchen neben Ihrem Job.

  3. Klicken Sie auf Löschen und bestätigen Sie den Löschvorgang.

Pub/Sub-Thema löschen

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Pub/Sub auf.

    Zu Pub/Sub

  2. Klicken Sie das Kästchen neben Ihrem Thema an.

  3. Klicken Sie auf Löschen und bestätigen Sie den Löschvorgang.

Cloud Functions-Funktion löschen

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Functions.

    Zu Cloud Functions

  2. Klicken Sie das Kästchen neben Ihrer Funktion an.

  3. Klicken Sie auf Löschen und bestätigen Sie den Löschvorgang.

Dienstkonten löschen

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

    Zur Seite „Dienstkonten“

  2. Klicken Sie das Kästchen neben den von Ihnen erstellten Dienstkonten an.

  3. Klicken Sie auf Löschen und bestätigen Sie den Löschvorgang.

APIs deaktivieren

Wenn Sie im Verlauf der Ausführung dieser Anleitung APIs aktiviert haben (z. B. die Eventarc, Cloud Functions oder Pub/Sub APIs), deaktivieren Sie sie. Das Deaktivieren von APIs wirkt sich auf den Zugriff auf die API für das Projekt aus. APIs sollten daher nicht deaktiviert werden, wenn sie von anderen Ressourcen in Ihrem Projekt verwendet werden.

  1. Rufen Sie in der Google Cloud Console die Seite APIs & Dienste auf.

    Rufen Sie "APIs & Dienste" auf.

  2. Klicken Sie auf die API, die Sie deaktivieren möchten. Eine Seite mit einer Beschreibung der API wird angezeigt.

  3. Klicken Sie auf API deaktivieren.

Projekt löschen

Wenn Sie ein Projekt nur für diese Anleitung erstellt haben, können Sie es löschen.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.