Workflow mit Cloud Scheduler planen

Auf dieser Seite erfahren Sie, wie Sie mit Cloud Scheduler einen Workflow nach einem bestimmten Zeitplan ausführen, z. B. jeden Montag um 9:00 Uhr oder alle 15 Minuten.

Hinweis

  1. Wenn Sie noch keinen Workflow haben, den Sie planen möchten, erstellen Sie einen.
  2. Aktivieren Sie die Cloud Scheduler API.

    Aktivieren Sie die API

Workflow planen

  1. Damit Cloud Scheduler Anfragen an die Workflows API senden kann, müssen Sie zuerst ein Dienstkonto erstellen:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Dabei ist SERVICE_ACCOUNT_NAME der Name, den Sie dem neuen Dienst geben möchten.

  2. Gewähren Sie dem Konto, in dem Ihre Cloud Scheduler-Befehle ausgeführt werden, Berechtigung zum Verwenden Ihres Dienstkontos.

  3. Gewähren Sie dem neuen Dienstkonto die Rolle workflows.invoker, damit das Konto die Berechtigung zum Auslösen Ihres Workflows hat:

    gcloud projects add-iam-policy-binding PROJECT_NAME \
      --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_NAME.iam.gserviceaccount.com \
      --role roles/workflows.invoker

    Wobei:

    • PROJECT_NAME ist der Name Ihres Google Cloud-Projekts.
    • SERVICE_ACCOUNT_NAME ist der Name des Dienstkontos, das Sie zuvor erstellt haben.
  4. Erstellen Sie einen Cloud Scheduler-Job, der den Workflow auslöst. Verwenden Sie dazu das Dienstkonto, das Sie zuvor für die Authentifizierung erstellt haben. So planen Sie Ihren Workflow beispielsweise so, dass er alle fünf Minuten ausgeführt wird. Dabei legen Sie das Intervall im Format unix-cron fest:

    gcloud beta scheduler jobs create http JOB_NAME \
      --schedule="*/5 * * * *" \
      --uri="https://workflowexecutions.googleapis.com/v1/projects/PROJECT_NAME/locations/REGION_NAME/workflows/WORKFLOW_NAME/executions" \
      --time-zone="TIME_ZONE" \
      --oauth-service-account-email="SERVICE_ACCOUNT_NAME@PROJECT_NAME.iam.gserviceaccount.com"

    Wobei:

    • JOB_NAME ist der Name, den Sie Ihrem Cloud Scheduler-Job geben.
    • PROJECT_NAME ist der Name Ihres Google Cloud-Projekts.
    • REGION_NAME ist die Region, in der sich Ihr Workflow befindet, z. B. us-central1.
    • WORKFLOW_NAME ist der Name des Workflows, dessen Ausführung Sie planen möchten.
    • TIME_ZONE ist die Zeitzone, die Cloud Scheduler zum Interpretieren des von Ihnen angegebenen Zeitplans verwendet.
    • SERVICE_ACCOUNT_NAME ist der Name des Dienstkontos, das Sie zuvor erstellt haben.

    Ihr Workflow wird jetzt alle fünf Minuten ausgeführt.

Nächste Schritte