Setup Cloud Functions Crob Job With Cloud Scheduler

June 10, 2019

Assuming you aleady

Create Cron Job

Go to Google Cloud Console -> Cloud Scheduler.

Click Create a job.

  • Name
  • Description
  • Frequency: Weekly = 0 0 * * 0, more example.
  • Time zone
  • Target: HTTP
  • URL: https://us-central1-PROJECT_ID.cloudfunctions.net/test_account
  • HTTP method: POST
  • Body: EMPTY

Click Create. You can test the cron job immediately using Run now.

Secure with Authentication

You might want to secure your cloud functions to be triggered by Cloud Sceduler only, and prevent direct access.

During Create a job, fill in the following as well.

  • Auth header: Add OIDC account
  • Service account: e.g. PROJECT_ID@appspot.gserviceaccount.com or NAME@PROJECT_ID.iam.gserviceaccount.com. Pick an existing email from Google Cloud Console -> Service account or create a new service account for authentication purpose (Roles, Grant users access and Create key is not required).
  • Audience: Leave it empty and it shall be filled with the Cloud Functions URL.

NOTE: Refer to Secure Cloud Functions With OIDC Account (from Cloud Scheduler).

References:

This work is licensed under a
Creative Commons Attribution-NonCommercial 4.0 International License.