本頁面說明如何使用 Cloud Scheduler 依排程執行 Cloud Run 工作。
如果 Google Cloud 專案位於虛擬私有雲網路中的 VPC Service Controls 範圍內,請參閱「在 VPC Service Controls 範圍內依時程排執行工作」,瞭解如何針對該用途排定工作。
必要的角色
如要取得執行本頁所述操作所需的權限,請要求管理員為您授予 Cloud Run 工作中的 IAM 角色:
- Cloud Scheduler 管理員 (
roles/cloudscheduler.admin
),或具有cloudscheduler.jobs.create
權限的自訂角色 - Cloud Run 調用器 (
roles/run.invoker
):使用 Google Cloud CLI 執行工作,或Cloud Run 開發人員 (roles/run.developer
):使用 Google Cloud 控制台執行工作
如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 工作介面與Google Cloud API 互動 (例如 Cloud 用戶端程式庫),請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
事前準備
設定 Cloud Run 工作,以排程執行
如要依排程執行 Cloud Run 工作,請按照下列步驟操作:
主控台
按一下要依排程執行的工作。
按一下「觸發條件」分頁標籤。
按一下「新增排程觸發條件」。
如果您尚未為專案啟用 Cloud Scheduler API,系統會在右側面板中顯示提示,請按一下「啟用 API」。
填寫 Cloud Scheduler 工作表單
在「定義排程」下方:
為 Cloud Scheduler 工作命名。
選取適合 Cloud Scheduler 工作的區域。不必與 Cloud Run 工作使用的區域相符。
使用 unix-cron 格式指定工作的執行頻率,例如
0 12 * * *
選取時區。
按一下「繼續」。
在「Service Account」下拉式選單中,選取具有叫用目前 Cloud Run 服務權限的服務帳戶。
按一下「Create」,建立 Cloud Scheduler 工作,以指定的頻率執行 Cloud Run 工作。
指令列
請務必先建立 Cloud Run 工作。
執行下列指令:
gcloud scheduler jobs create http SCHEDULER_JOB_NAME \ --location SCHEDULER_REGION \ --schedule="SCHEDULE" \ --uri="https://run.googleapis.com/v2/projects/PROJECT-ID/locations/CLOUD_RUN_REGION/jobs/JOB-NAME:run" \ --http-method POST \ --oauth-service-account-email PROJECT-NUMBER-compute@developer.gserviceaccount.com
取代
- SCHEDULER_JOB_NAME 改成您要為排程器工作命名的名稱。
- SCHEDULER_REGION 與 Cloud Scheduler 支援的地區,例如
europe-west2
。 - CLOUD_RUN_REGION 與 Cloud Run 工作所在的區域。如要預覽,請使用
europe-west9
。 - SCHEDULE 搭配所需頻率,例如
0 12 * * *
- PROJECT-ID 為您的專案 ID。
- 將 PROJECT-NUMBER 改成您的專案編號。
- JOB-NAME 與 Cloud Run 工作。
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
將下列內容新增至 Terraform 設定中的google_cloud_run_v2_job
資源:Cloud Scheduler 會依指定頻率執行 Cloud Run 工作。
後續步驟
使用這項功能後,您可以執行下列操作: