Cloud Functions-HTTP-Funktion planen


In dieser Anleitung erfahren Sie, wie Sie mit mit Cloud Scheduler und als Ziel einen HTTP-Endpunkt festlegen. Verwenden Sie eine HTTP-Funktion, wenn Ihre Funktion muss einen URL-Endpunkt haben und auf HTTP-Anfragen reagieren, z. B. wie bei Webhooks.

Sie können auch Sie können eine ereignisgesteuerte Funktion planen, direkt als Reaktion auf Ereignisse in Ihrem Google Cloud-Projekt, z. B. Nachrichten zu einem Pub/Sub-Thema oder Änderungen in einem Cloud Storage-Bucket. Weitere Informationen finden Sie unter Arten von Cloud Functions-Funktionen.

Die Ausführung einer Cloud Functions-Funktion zu planen, ist eine Anwendungsfall für Cloud Scheduler In dieser Anleitung wird Folgendes beschrieben:

  1. Eine einfache HTTP-Cloud Functions-Funktion erstellen
  2. Cloud Scheduler-Job erstellen
  3. Führen Sie den Cloud Scheduler-Job aus.
  4. Prüfen Sie, ob die Cloud Functions-Funktion vom Cloud Scheduler-Job.

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. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Build, Cloud Functions, Cloud Run Admin, Cloud Scheduler APIs aktivieren.

    Aktivieren Sie die 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 Cloud Run > Cloud Run Invoker role to the service account.

      To grant the role, find the Select a role list, then select Cloud Run > Cloud Run Invoker.

    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. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  8. Cloud Build, Cloud Functions, Cloud Run Admin, Cloud Scheduler APIs aktivieren.

    Aktivieren Sie die 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 Cloud Run > Cloud Run Invoker role to the service account.

      To grant the role, find the Select a role list, then select Cloud Run > Cloud Run Invoker.

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

  10. Sie müssen die Rolle „Cloud Run Invoker“ gewähren, da in Cloud Functions (2. Generation) Aufrufberechtigungen sind verfügbar, indem Sie die zugrunde liegende Cloud Run-Dienst.

  11. Standardmäßig verwendet Cloud Functions die automatisch erstellten Compute Engine-Standarddienstkonto für sein Laufzeitdienstkonto. Mit diesem Dienstkonto können Sie dieser Anleitung. Abhängig von der Konfiguration Ihrer Organisationsrichtlinie Dem Standarddienstkonto wird möglicherweise nicht automatisch die Rolle „Bearbeiter“ für für Ihr Projekt. In diesem Fall müssen Sie Dienstkonto gewähren folgende Rollen: <ph type="x-smartling-placeholder">
      </ph>
    1. Artifact Registry-Writer (roles/artifactregistry.writer)
    2. Logautor (roles/logging.logWriter)
    3. Storage-Objekt-Betrachter (roles/storage.objectViewer)

Cloud Functions-HTTP-Funktion erstellen

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

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

    Zu Cloud Functions

  2. Klicken Sie auf . Funktion erstellen.

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

    1. Wählen Sie in der Liste Environment (Umgebung) die Option 2nd gen 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 Bereich Trigger die folgenden Schritte aus:

    1. Wählen Sie in der Liste Triggertyp die Option HTTPS aus.
    2. Wählen Sie für die Authentifizierung Authentifizierung erforderlich aus.

      Weitere Informationen finden Sie unter Für den Aufruf authentifizieren (2. Generation)

  5. Übernehmen Sie die anderen Standardeinstellungen und klicken Sie auf Next (Weiter).

  6. Ändern Sie nicht die Standardlaufzeitsprache und den Beispielcode. Der Code keine Cloud-Dienste verwendet und es sind keine zusätzlichen Berechtigungen erforderlich. Klicken Sie auf Bereitstellen.

  7. Nachdem die Funktion erfolgreich bereitgestellt wurde, klicken Sie auf den Tab Trigger.

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

Cloud Scheduler-Job erstellen

Cloud Scheduler-Job erstellen, 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 des Jobs im Unix-Cron-Format an:

    30 16 * * 7
    

    Weitere Informationen finden Sie unter Format und Zeitzone des 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 zuvor verwendete HTTP-URL der Funktion ein. kopiert.

  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 Dienstkonto aus, das Sie zuvor erstellt haben. erstellt.

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

  13. Klicken Sie auf Erstellen.

Sie haben einen Cronjob erstellt, der Ihre Cloud Functions-Funktion um 16:30 Uhr am folgenden Ort ausführt: Sonntags.

Cloud Scheduler-Job ausführen

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

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

    Zu Cloud Scheduler

  2. Klicken Sie auf das Kästchen neben dem erstellten Job und dann auf Ausführung erzwingen.

    Beim ersten Aufruf kann der erste in einem Projekt erstellte Job nur wenige Minuten für Konfiguration und Ausführung.

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

Ergebnisse in Cloud Functions prüfen

Sie können prüfen, ob Ihre Cloud Functions-Funktion erfolgreich ausgelöst wurde und vom Cronjob ausgeführt werden.

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

    Zu Cloud Functions

  2. Klicken Sie auf den Funktionsnamen.

    Die Seite Funktionsdetails und das Diagramm Aufrufe/Sekunde werden geöffnet. zeigt den ersten Aufruf der Funktion.

  3. Klicken Sie auf den Tab Logs.

    Sie sollten einen Logeintrag wie diesen sehen: POST 200 146 B 5 ms Google-Cloud-Scheduler https://REGION-PROJECT_ID.cloudfunctions.net/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. 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.

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 Ihre Auswahl. zu löschen.

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

    Zu Cloud Functions

  5. Klicken Sie das Kästchen neben der Funktion an.

  6. Klicken Sie auf Löschen und bestätigen Sie Ihre Auswahl. zu löschen.

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

    Zur Seite „Dienstkonten“

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

  9. Klicken Sie auf Löschen und bestätigen Sie Ihre Auswahl. zu löschen.

Nächste Schritte