HTTP-Cloud Run-Funktion planen


In dieser Anleitung wird gezeigt, wie Sie eine HTTP-Cloud Run-Funktion planen, indem Sie in Cloud Scheduler einen HTTP-Endpunkt 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.

Wenn Sie eine CloudEvents-Funktion erstellt haben, können Sie mit Eventarc-Ereignistriggern planen, dass Ihre Funktion auf Ereignisse in Ihrem Projekt reagiert. Eventarc kann unter anderem Nachrichten in einem Pub/Sub-Thema oder Änderungen in einem Cloud Storage-Bucket auslösen. Weitere Informationen finden Sie unter Arten 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. Einfache HTTP-Cloud Run-Funktion erstellen
  2. Erstellen Sie einen Cloud Scheduler-Job.
  3. Führen Sie den Cloud Scheduler-Job aus.
  4. Prüfen Sie, ob der Cloud Scheduler-Job Ihre Cloud Run-Funktion auslöst.

Kosten

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

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.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build, Cloud Functions, Cloud Run Admin, Cloud Scheduler APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Cloud Run > Cloud Run Invoker, Cloud Run > Cloud Run Builder.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Cloud Build, Cloud Functions, Cloud Run Admin, Cloud Scheduler APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Cloud Run > Cloud Run Invoker, Cloud Run > Cloud Run Builder.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

Sie müssen die Rolle „Cloud Run Invoker“ gewähren, da bei Cloud Run-Funktionen Aufrufberechtigungen über die Verwaltung des zugrunde liegenden Cloud Run-Dienstes verfügbar sind.

HTTP-Cloud Run-Funktion erstellen

Erstellen Sie eine HTTP-Funktion, die von Cloud Scheduler ausgelöst wird.

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

    Zu Cloud Run

  2. Klicken Sie auf Funktion schreiben.

  3. Führen Sie im Abschnitt Konfigurieren die folgenden Schritte aus:

    1. Geben Sie im Feld Dienstname einen Namen für die Funktion ein.
    2. Wählen Sie in der Liste Region eine Region aus.
    3. Ändern Sie die Standardlaufzeitsprache nicht.
    4. Wählen Sie für die Authentifizierung Authentifizierung erforderlich aus.

      Wenn Sie einer Domaineinschränkung zur Organisation 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.

  4. Übernehmen Sie alle anderen Standardeinstellungen und klicken Sie auf Erstellen.

  5. Kopieren Sie die HTTP-URL für die Funktion.

Cloud Scheduler-Job erstellen

Erstellen Sie einen Cloud Scheduler-Job, der eine Aktion über HTTP auslöst.

  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 Unix-Cron-Format an:

    30 16 * * 7
    

    Weitere Informationen finden Sie unter Format und Zeitzone für Cronjobs.

  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 HTTP aus.

  9. Geben Sie im Feld URL die HTTP-URL der Funktion ein, die Sie zuvor kopiert haben.

  10. Wählen Sie in der Liste Auth-Header die Option OIDC-Token hinzufügen aus.

  11. Wählen Sie in der Liste Dienstkonto das zuvor erstellte Dienstkonto aus.

  12. Geben Sie im Feld Zielgruppe die HTTP-URL der Funktion ein, die Sie zuvor kopiert haben.

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

  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 dann auf Erzwungene Ausführung.

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

  3. Nach der Ausführung des Jobs sollte für den Status der letzten Ausführung Success angezeigt werden.

Ergebnisse in Cloud Run-Funktionen prüfen

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

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

    Zu Cloud Run

  2. Wählen Sie Dienste filtern > Bereitstellungstyp > Funktion aus. Dadurch wird die Liste der Dienste so gefiltert, dass nur Funktionen angezeigt werden.

  3. Klicken Sie auf den Funktionsnamen.

    Die Seite Servicedetails wird geöffnet und es werden Dienstmesswerte angezeigt.

  4. Klicken Sie auf den Tab Logs.

    Sie sollten einen Logeintrag wie den folgenden sehen: POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Anleitungsressourcen löschen

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

    Zu Cloud Scheduler

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

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

  4. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Zu Cloud Run

  5. Klicken Sie das Kästchen neben dem gewünschten Dienst an.

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

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

    Zur Seite „Dienstkonten“

  8. Klicken Sie das Kästchen neben dem von Ihnen erstellten Dienstkonto an.

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

Nächste Schritte