本教程介绍如何使用 Cloud Scheduler 自动执行工作流,以便工作流按特定时间表运行,在本例中,每 5 分钟运行一次。
目标
- 创建和部署可以接收运行时参数的工作流。
- 创建 Cloud Scheduler 作业,以便触发工作流并每 5 分钟执行一次该作业,并以正确的格式传入 JSON 参数。
费用
在本文档中,您将使用 Google Cloud的以下收费组件:
如需根据您的预计使用情况来估算费用,请使用价格计算器。
新 Google Cloud 用户可能有资格申请免费试用。
准备工作
- 为 Cloud Scheduler 设置环境,包括创建 App Engine 应用。
启用 Workflows API。
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。- 设置本教程中使用的默认位置:
将gcloud config set workflows/location REGION
REGION替换为您选择的受支持的 Workflows 位置。 - 创建服务账号以供 Workflows 使用;例如
sa-name。gcloud iam service-accounts create sa-name
- 向您的服务账号授予
workflows.invoker角色,以便该账号有权触发您的工作流:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:sa-name@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/workflows.invoker"
将 - 将
logging.logWriter角色授予服务账号。gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:sa-name@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
PROJECT_ID 替换为您的 Google Cloud 项目 ID。