In dieser Anleitung wird gezeigt, wie Sie eine HTTP-Cloud Run-Funktion planen, indem Sie in Cloud Scheduler einen HTTP-Endpunkt als Ziel festlegen. Verwenden Sie eine HTTP-Funktion, wenn Ihre Funktion einen URL-Endpunkt haben und auf HTTP-Anfragen antworten muss, z. B. für Webhooks.
Wenn Sie eine CloudEvents-Funktion erstellt haben, können Sie Eventarc-Ereignistrigger verwenden, um die Reaktion Ihrer Funktion auf Ereignisse in Ihrem Projekt zu planen. Eventarc kann Nachrichten in einem Pub/Sub-Thema, Änderungen in einem Cloud Storage-Bucket und mehr auslösen. 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:
HTTP-Cloud Run Functions-Funktion erstellen
Erstellen Sie eine HTTP-Funktion, die von Cloud Scheduler ausgelöst wird.
Rufen Sie in der Google Cloud -Console die Seite Cloud Run auf.
Klicken Sie auf Funktion schreiben.
Führen Sie im Abschnitt Konfigurieren die folgenden Schritte aus:
- Geben Sie im Feld Dienstname einen Namen für die Funktion ein.
- Wählen Sie in der Liste Region eine Region aus.
- Ändern Sie die Standardsprache der Laufzeit nicht.
Wählen Sie für die Authentifizierung Authentifizierung erforderlich aus.
Wenn Sie einer Organisationsrichtlinie zur Domaineinschränkung nicht eingeschränkter Aufrufe für Ihr Projekt unterliegen, müssen Sie auf Ihren bereitgestellten Dienst zugreifen, wie unter Private Dienste testen beschrieben.
Weitere Informationen finden Sie unter Für Aufruf authentifizieren.
Übernehmen Sie alle anderen Standardeinstellungen und klicken Sie auf Erstellen.
Kopieren Sie die HTTP-URL für die Funktion.
Weitere Informationen, einschließlich der Bereitstellung einer Cloud Run Functions-Funktion mit Terraform, finden Sie unter Cloud Run Functions-Funktion bereitstellen.
Cloud Scheduler-Job erstellen
Erstellen Sie einen Cloud Scheduler-Job, der eine Aktion über HTTP auslöst.
Rufen Sie in der Google Cloud Console die Seite Cloud Scheduler auf.
Klicken Sie auf
Job erstellen.Geben Sie einen Namen für den Job ein.
Wählen Sie in der Liste Region eine Region aus.
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.
Wählen Sie in der Liste Zeitzone eine Zeitzone aus.
Klicken Sie auf Weiter.
Wählen Sie in der Liste Zieltyp die Option HTTP aus.
Geben Sie im Feld URL die HTTP-URL der Funktion ein, die Sie zuvor kopiert haben.
Wählen Sie in der Liste Auth-Header die Option OIDC-Token hinzufügen aus.
Wählen Sie in der Liste Dienstkonto das Dienstkonto aus, das Sie zuvor erstellt haben.
Geben Sie im Feld Zielgruppe die HTTP-URL der Funktion ein, die Sie zuvor kopiert haben.
Klicken Sie auf Erstellen.
Sie haben einen Cronjob erstellt, der Ihre Cloud Run-Funktion sonntags um 16:30 Uhr ausführt.
Cloud Scheduler-Job ausführen
Sie können den erstellten Job jetzt ausführen.
Rufen Sie in der Google Cloud Console die Seite „Cloud Scheduler“ auf.
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.
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.
Rufen Sie in der Google Cloud -Console die Seite Cloud Run auf.
Wählen Sie Dienste filtern > Bereitstellungstyp > Funktion aus. Dadurch wird die Liste der Dienste so gefiltert, dass nur Funktionen angezeigt werden.
Klicken Sie auf den Funktionsnamen.
Die Seite Servicedetails wird geöffnet und zeigt Servicemesswerte an.
Klicken Sie auf den Tab Logs.
Es sollte ein Logeintrag wie der folgende angezeigt werden:
POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME