本页面介绍如何通过 Google Cloud Console 或使用 gcloud
命令行工具来创建工作流和更新现有工作流。
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能。
启用 Workflows API。
启用 Workflows API- 如果您还没有服务帐号,请创建一个服务帐号,然后为其授予管理工作流和创建日志所需的角色。
控制台
-
在 Cloud Console 中,转到服务帐号页面。
转到“创建服务帐号”页面 - 选择创建服务帐号。
- 在服务帐号名称字段中,输入一个名称。
- 点击创建。
从角色列表中,选择 Logging > 日志写入者。
注意:角色字段为您的服务帐号授予资源访问权限。如需创建、更新和执行工作流,请分配roles/workflows.editor
角色。如需将日志发送到 Cloud Logging,请分配roles/logging.logWriter
角色。如果您开发的是正式版应用,请始终尽可能授予最小访问权限角色。如需了解详情,请参阅为服务帐号授予角色。如需查看工作流角色列表,请参阅访问权限控制参考文档。- 点击继续。
- 点击完成。
gcloud
-
创建服务帐号。将 [NAME] 替换为服务帐号的名称。
gcloud iam service-accounts create [NAME]
-
通过分配角色向服务帐号授予权限。
gcloud projects add-iam-policy-binding [PROJECT_ID] --member "serviceAccount:[NAME]@[PROJECT_ID].iam.gserviceaccount.com" --role "roles/logging.logWriter"
请替换以下内容:- [PROJECT_ID]:您的项目 ID。
- [NAME]:您刚刚创建的服务帐号的名称。
注意:角色字段为您的服务帐号授予资源访问权限。如需将日志发送到 Cloud Logging,请分配roles/logging.logWriter
角色。如果您开发的是正式版应用,请始终尽可能授予最小访问权限角色。如需了解详情,请参阅为服务帐号授予角色。如需查看工作流角色列表,请参阅访问权限控制参考文档。
-
创建工作流
如需创建工作流,我们会对它进行部署以使其可供执行。部署步骤还会验证源文件是否可以执行。如果源文件不包含有效的工作流定义,则会失败。
控制台
如需创建新工作流,请打开 Google Cloud Console 中的“工作流”页面:
转到“工作流”页面选择创建。
输入新工作流的名称,例如
myFirstWorkflow
。名称可以包含字母、数字、下划线和连字符。名称必须以字母开头,并以数字或字母结尾。选择 us-central1 作为区域。
选择您希望工作流用于向其他 Google Cloud 服务进行身份验证的服务帐号。我们强烈建议您使用具备访问必需资源所需的最低权限的服务帐号。如需详细了解服务帐号,请参阅创建和管理服务帐号。
选择下一步。
在工作流编辑器中,输入工作流的定义。您可以在快速入门:使用 Cloud Console 页面上找到示例工作流。
选择部署。
gcloud
确保工作流的源代码保存在 YAML 或 JSON 文件中,例如 MY_WORKFLOW.YAML 或 MY_WORKFLOW.JSON。如需查看示例工作流,请参阅快速入门:使用
gcloud
工具页面。打开终端。
输入以下命令以部署工作流:
gcloud workflows deploy MY_WORKFLOW \ --source=MY_WORKFLOW.YAML \ [--service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM]
请替换以下内容:
MY_WORKFLOW:您的工作流的名称。
MY_WORKFLOW.YAML:用于工作流的源文件。
MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM:可选。您的工作流将用于访问其他 Google Cloud 服务的服务帐号。我们强烈建议您使用具备访问必需资源所需的最低权限的服务帐号。如果留空,则会使用默认服务帐号。如需详细了解服务帐号,请参阅创建和管理服务帐号。
更新工作流
您可以更新现有工作流,以更改其来源、说明、标签或其关联的服务帐号。更新工作流不会影响正在进行的执行操作。只有工作流的未来执行才会使用更新后的配置。
控制台
如需更新现有工作流,请打开 Google Cloud Console 中的“工作流”页面:
转到“工作流”页面选择您要更新的工作流的名称。
在修改工作流页面上,您可以修改说明、更新工作流用于进行身份验证的服务帐号,或者添加标签。您无法修改工作流的名称。
完成初始更新后,选择下一步。
如需修改工作流的源代码,请在工作流编辑器更新源代码。
选择部署。
gcloud
找到保存更新后的工作流来源的 YAML 或 JSON 文件,例如 WORKFLOW_FILE.YAML 或 WORKFLOW_FILE.JSON。
打开终端。
找到您要更新的工作流的名称。如果您不知道工作流的名称,则可以输入以下命令列出所有工作流:
gcloud workflows list
您可以更新工作流的来源、关联的服务帐号、说明或标签:
gcloud workflows deploy WORKFLOW_NAME \ --source=WORKFLOW_FILE.YAML \ [--service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM] \ [--labels=KEY=VALUE...] \ [--description='WORKFLOW_DESCRIPTION']
请替换以下内容:
WORKFLOW_NAME:必填。您的工作流的名称。
WORKFLOW_FILE.YAML:必填。工作流的源文件。
MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM:可选。您的工作流将用于访问其他 Google Cloud 服务的服务帐号。如需详细了解服务帐号,请参阅创建和管理服务帐号。
KEY=VALUE:可选。您想要添加的标签采用
KEY=VALUE
对的形式,如果您要添加多个标签,则采用逗号分隔列表形式。WORKFLOW_DESCRIPTION:可选。您想要为工作流提供的说明。
您必须指定要更新的工作流的名称及其来源,但其他标志是可选的。
每次更新工作流时,系统都会更新其 versionID
。versionID
由两部分组成,以连字符分隔:
这是每次更新工作流时都会递增的数字,从 1 开始。
由三个字符组成的随机字母数字字符串。
例如,000002-d52
表示已更新一次工作流。000001-27f
表示初始版本的工作流。