创建和管理工作流

您可以在 Google Cloud 控制台中创建和管理工作流,也可以在终端或 Cloud Shell 中使用 Google Cloud CLI 来创建和管理工作流。您还可以通过 Workflows API 管理工作流。

准备工作

您的组织定义的安全限制条件可能会导致您无法完成以下步骤。如需了解相关问题排查信息,请参阅在受限的 Google Cloud 环境中开发应用

控制台

  1. 在 Google Cloud 控制台的“项目选择器”页面上,选择或创建 Google Cloud 项目

    转到“项目选择器”

  2. 确保您的 Google Cloud 项目已启用结算功能。 了解如何检查项目是否已启用结算功能

  3. 启用 Workflows API。

    启用 API

gcloud

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 确保您的 Google Cloud 项目已启用结算功能。 了解如何检查项目是否已启用结算功能

  3. 启用 Workflows API。

    gcloud services enable workflows.googleapis.com
    

REST

如需使用 Workflows API 管理工作流,我们建议您使用 Google 提供的客户端库来调用 workflows.googleapis.com 服务。如需了解详情,请参阅 Workflows API

创建服务账号

服务帐号代表工作流的身份,并确定工作流具有哪些权限和可以访问哪些 Google Cloud 资源。如果您还没有服务帐号,请创建一个;然后为其授予管理工作流创建日志所需的角色。

如果您在创建工作流的过程中未指定服务帐号,则工作流将使用默认 Compute Engine 服务帐号作为其身份。 如需了解详情,请参阅授予工作流访问 Google Cloud 资源的权限

我们强烈建议您使用具备访问必需资源所需的最低权限的服务账号。

请注意,如需创建资源并关联服务帐号,您需要拥有相应权限,才能创建该资源并模拟将附加到该资源的服务帐号。如需了解详情,请参阅服务帐号权限

控制台

  1. 在 Google Cloud 控制台中,转到服务账号页面。

    转到“服务账号”

  2. 选择项目,然后点击创建服务账号

  3. 服务账号名称字段中,输入一个名称。

    此名称必须介于 6 到 30 个字符之间,且可以包含小写字母数字字符和短划线。创建服务帐号后,您无法更改其名称。

  4. 点击创建并继续

  5. 点击选择角色

  6. 选择以下角色,然后根据需要点击添加其他角色

    1. 如需创建、更新和执行工作流,请依次选择 Workflows > Workflows Editor
    2. 如需将日志发送到 Cloud Logging,请依次选择 Logging > Logs Writer
  7. 点击完成以完成服务账号的创建过程。

gcloud

  1. 创建服务账号。

    gcloud iam service-accounts create SERVICE_ACCOUNT
  2. 通过分配角色向服务帐号授予权限。

    1. 如需创建、更新和执行工作流,请分配 roles/workflows.editor 角色:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/workflows.editor"
      
    2. 如需将日志发送到 Cloud Logging,请分配 roles/logging.logWriter 角色:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/logging.logWriter"
      

    替换以下内容:

    • SERVICE_ACCOUNT:服务账号的名称。该名称必须介于 6 到 30 个字符之间,且可以包含小写字母数字字符和短划线。创建服务帐号后,您无法更改其名称。

    • PROJECT_ID:您的项目的 ID。

REST

您可以使用 serviceAccounts.create 方法创建服务帐号。如需了解详情,请参阅创建服务帐号

您可以使用 setIamPolicy 方法修改和设置资源的允许政策,从而以编程方式授予多个角色。如需了解详情,请参阅以编程方式授予或撤消多个角色

创建工作流

工作流定义由一系列使用 Workflows 语法描述的步骤组成,该语法可以采用 YAML 或 JSON 格式编写。定义工作流后,可以对其进行部署,使其可供执行。部署步骤还会验证源文件是否可以执行。如果源文件不包含有效的工作流定义,则会失败。

修改 YAML 文件容易出错。如需创建工作流,您可以使用首选的 IDE 或源代码编辑器,并设置自动补全和语法验证来减少错误。

控制台

  1. 在 Google Cloud 控制台中,进入 Workflows 页面:

    进入 Workflows

  2. 点击 创建

  3. 输入工作流的名称,例如 myFirstWorkflow。名称可以包含字母、数字、下划线和连字符。必须以字母开头,并以数字或字母结尾。

  4. (可选)添加工作流说明。

  5. 区域列表中,选择要在其中部署工作流的合适位置;例如 us-central1

  6. 服务帐号列表中,选择您的工作流将用于访问其他 Google Cloud 服务的服务帐号。如需了解详情,请参阅本文档的创建服务帐号

  7. 视需要执行下列任一操作:

    1. 指定要应用于工作流定义的调用日志记录级别。在调用日志级别列表中,选择以下选项之一:

      • 未指定:未指定日志记录级别。这是默认设置。 除非未指定执行日志级别(默认),否则执行日志级别优先于任何工作流日志级别;在这种情况下,工作流日志级别适用。
      • 仅限错误:记录所有已捕获的异常;或者调用因异常而停止时。
      • 所有调用:记录对子工作流或库函数及其结果的所有调用。
      • 无日志:无调用日志记录。
    2. 指定工作流应该用于数据加密的 Cloud Key Management Service 密钥:选择客户管理的加密密钥 (CMEK)。如需了解详情,请参阅使用客户管理的加密密钥 (CMEK)

    3. 指定可供工作流在运行时访问的环境变量。如需了解详情,请参阅使用环境变量

    4. 添加标签:标签是可帮助您整理 Google Cloud 实例的键值对。如需了解详情,请参阅什么是标签?

    5. 安排工作流:选择添加新触发器 > Cloud Scheduler。如需了解详情,请参阅使用 Cloud Scheduler 安排工作流

    6. 通过事件或 Pub/Sub 消息触发工作流:选择添加新触发器 > Eventarc。如需了解详情,请参阅使用事件或 Pub/Sub 消息触发工作流

  8. 点击下一步

  9. 在工作流编辑器中,输入工作流的定义。请参阅示例工作流

  10. 点击部署

gcloud

  1. 确保工作流的源代码保存在 YAML 或 JSON 文件中,例如 MY_WORKFLOW.YAMLMY_WORKFLOW.JSON。请参阅示例工作流

  2. 打开终端。

  3. 您可以使用 gcloud workflows deploy 命令创建和部署工作流:

    gcloud workflows deploy WORKFLOW_NAME \
        --location=LOCATION \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    替换以下内容:

    • WORKFLOW_NAME:工作流的名称,例如 myFirstWorkflow。名称可以包含字母、数字、下划线和连字符。并且必须以字母开头并以数字或字母结尾。

    • LOCATION:要在其中部署工作流的区域;例如 us-central1

    • CALL_LOGGING_LEVEL:可选。在执行期间应用的调用日志记录级别。可以是以下之一:

      • none:未指定日志记录级别。这是默认设置。除非未指定执行日志级别(默认),否则执行日志级别优先于任何工作流日志级别;在这种情况下,工作流日志级别适用。
      • log-errors-only:记录所有已捕获的异常;或者调用因异常而停止时。
      • log-all-calls:记录对子工作流或库函数及其调用的所有调用。
      • log-none:无调用日志记录。
    • DESCRIPTION:可选。对工作流的说明。

    • LABEL_KEY=LABEL_VALUE:可选。 可帮助您整理 Google Cloud 实例的标签键值对列表;例如 name=wrench。如需了解详情,请参阅什么是标签?

    • ENV_KEY=ENV_VALUE:可选。环境变量键值对的列表;例如 MONTH=January。如需了解详情,请参阅使用环境变量

    • ENCRYPT_KEY:可选。工作流应使用 projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME 格式进行数据加密的 Cloud KMS 密钥。如需了解详情,请参阅使用客户管理的加密密钥 (CMEK)

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com:可选。您的工作流将用于访问其他 Google Cloud 服务的服务账号。如需了解详情,请参阅本文档的创建服务帐号

    • YAML_OR_JSON_SOURCE_FILE:工作流定义的源文件。例如:myFirstWorkflow.yaml

REST

如需创建具有指定名称的新工作流,请使用 projects.locations.workflows.create 方法,并使用 workflowId 查询参数指定工作流的 ID。

在使用任何请求数据之前,请先进行以下替换:

  • WORKFLOW_NAME:工作流的名称,例如 myFirstWorkflow。名称可以包含字母、数字、下划线和连字符。并且必须以字母开头并以数字或字母结尾。
  • DESCRIPTION:可选。工作流说明。不得超过 1000 个 Unicode 字符。
  • LABEL_KEYLABEL_VALUE:可选。标签键值对的映射,可帮助您整理 Google Cloud 实例。例如:{"name": "wrench", "mass": "1kg", "count": "3"} 如需了解详情,请参阅什么是标签?请注意,新标签最多可能需要 10 分钟才能生效。
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com:可选。您的工作流将用于访问其他 Google Cloud 服务的服务账号。项目 ID 就是您的 Google Cloud 项目 ID。如需了解详情,请参阅本文档中的创建服务帐号
  • ENCRYPT_KEY:可选。工作流应使用 projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME 格式进行数据加密的 Cloud KMS 密钥。如需了解详情,请参阅使用客户管理的加密密钥
  • CALL_LOGGING_LEVEL:可选。 要在执行期间应用的调用日志记录级别。默认值为不指定日志记录级别,系统会改为应用工作流日志级别。如需了解详情,请参阅将日志发送到 Logging。以下其中一列:
    • CALL_LOG_LEVEL_UNSPECIFIED:未指定日志记录级别,系统会应用工作流日志级别。这是默认设置。否则,系统会应用执行日志级别,并且其优先级高于工作流日志级别。
    • LOG_ERRORS_ONLY:记录捕获的所有异常;或由于异常而停止调用。
    • LOG_ALL_CALLS:记录对子工作流或库函数的所有调用及其结果。
    • LOG_NONE:无通话记录。
  • ENV_KEYENV_VALUE:可选。环境变量键值对的映射;例如 { "month": "January", "day": "Monday"}。如需了解详情,请参阅使用环境变量
  • SOURCE_CODE:工作流定义。您必须在 YAML 中对换行符进行转义。例如: main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello

    您必须对 JSON 中的引号进行转义。例如:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}

  • LOCATION:要在其中部署工作流的区域,例如 us-central1

请求 JSON 正文:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

如需发送您的请求,请展开以下选项之一:

如果成功,响应正文将包含一个新创建的 Operation 实例:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "create",
    "apiVersion": "v1"
  },
  "done": false
}

如果 "done" 的值为 false,则表示操作仍在进行中。

列出工作流

您可以列出工作流或使用过滤条件检索特定工作流。

控制台

  1. 在 Google Cloud 控制台中,前往工作流页面。

    进入 Workflows

    本页面列出了所有位置的工作流,并包含名称、区域、最新修订版本等详细信息。

  2. 如需过滤工作流,请执行以下操作:

    1. 点击 过滤条件过滤工作流字段。
    2. 属性列表中,选择一个选项以过滤工作流。

    您可以选择单个属性,或使用逻辑运算符 OR 添加更多属性。

  3. 如需对工作流进行排序,请点击任何受支持的列标题旁边的 排序

gcloud

使用 gcloud workflows list 命令列出工作流:

gcloud workflows list --location=LOCATION

LOCATION 替换为工作流位置的 ID 或完全限定标识符。

此命令会列出指定位置的工作流,包括工作流的 NAMESTATEREVISION_IDUPDATE_TIME 等详细信息。

REST

如需列出给定项目和位置的工作流,请使用 projects.locations.workflows.list 方法。

或者,如需检索单个工作流的详细信息,请使用 projects.locations.workflows.get 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:部署工作流的区域,例如 us-central1

如需发送您的请求,请展开以下选项之一:

如果成功,则响应正文包含 Workflow 的实例,并且响应应类似如下内容:

{
  "workflows": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
      "state": "ACTIVE",
      "revisionId": "000001-0ce",
      "createTime": "2023-12-08T13:56:59.306770745Z",
      "updateTime": "2023-12-08T13:56:59.547021939Z",
      "revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
      "serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

更新工作流

您可以更新现有工作流。您必须指定要更新的工作流的名称及其来源。请注意,您无法更改工作流的名称或位置。

更新工作流不会影响正在进行的执行。只有工作流的未来执行才会使用更新后的配置。

每次更新工作流时,系统都会更新其 versionIDversionID 由两部分组成,并以连字符隔开:

  • 一个数字(从 1 开始),每次更新工作流时都会递增。

  • 由三个字符组成的随机字母数字字符串。

例如,000001-27f 表示工作流的初始版本,000002-d52 表示已更新一次的工作流。

控制台

  1. 在 Google Cloud 控制台中,前往工作流页面。

    进入 Workflows

  2. 点击您要更新的工作流的名称。请注意,您无法更改工作流名称。

    随即会出现工作流详细信息页面。

  3. 您可以通过以下方式修改工作流:

    • 若要修改来源,请执行以下操作:

      1. 点击 Source(来源)标签页。
      2. 点击修改
      3. 要保存更改,请点击保存。 系统会部署更新后的工作流。
    • 如需更新说明、工作流用于身份验证的服务帐号、通话记录级别、环境变量、标签或加密密钥,请执行以下操作:

      1. 点击详情标签页。
      2. 点击相应的 图标。
      3. 如果您要更新通话记录级别,请选择以下选项之一:
        • 未指定:未指定日志记录级别。这是默认设置。 除非未指定执行日志级别(默认),否则执行日志级别优先于任何工作流日志级别;在这种情况下,工作流日志级别适用。
        • 仅限错误:记录所有已捕获的异常;或者调用因异常而停止时。
        • 所有调用:记录对子工作流或库函数及其结果的所有调用。
        • 无日志:无调用日志记录。
      4. 要保存更改,请点击保存。 系统会部署更新后的工作流。
    • 如需同时修改之前的字段,或者添加或更新触发器,请执行以下操作:

      1. 点击 修改
      2. 如需修改来源,请点击下一步
      3. 如需保存更改并部署更新后的工作流,请点击部署
  4. 如果要更新服务帐号的角色,请点击权限标签页。

    1. 主帐号是用户、群组、网域或服务帐号。如需更新现有主账号,请执行以下操作:

      1. 找到包含主账号的行。
      2. 点击该行中的 修改主帐号
      3. 点击 添加其他角色或点击 删除角色
    2. 如果要添加角色,请在选择角色列表中选择适当的角色。

    3. 如需添加其他角色,请点击添加其他角色

    4. 点击保存

gcloud

  1. 打开终端。

  2. 找到您要更新的工作流的名称。如果您不知道工作流的名称,则可以输入以下命令列出所有工作流:

    gcloud workflows list
    
  3. 找到保存工作流来源的 YAML 或 JSON 文件,例如 WORKFLOW_NAME.YAMLWORKFLOW_NAME.JSON

  4. 您可以使用 gcloud workflows deploy 命令更新现有工作流,以更改其来源、说明、标签、环境变量、通话记录级别、加密密钥或其关联的服务帐号。

    您必须指定要更新的工作流的名称及其来源;但是,其余标志是可选的。如需移除客户管理的加密密钥,请使用 --clear-kms-key 标志。

    gcloud workflows deploy WORKFLOW_NAME \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    替换以下内容:

    • WORKFLOW_NAME:必填。工作流的名称。

    • CALL_LOGGING_LEVEL:可选。要应用于工作流的通话记录级别。可以是以下之一:

      • none:未指定日志记录级别。这是默认设置。除非未指定执行日志级别(默认),否则执行日志级别优先于任何工作流日志级别;在这种情况下,工作流日志级别适用。
      • log-errors-only:记录所有已捕获的异常;或者调用因异常而停止时。
      • log-all-calls:记录对子工作流或库函数及其调用的所有调用。
      • log-none:无调用日志记录。
    • DESCRIPTION:可选。对工作流的说明。

    • LABEL_KEY=LABEL_VALUE:可选。 可帮助您整理 Google Cloud 实例的标签键值对列表;例如 name=wrench。如需了解详情,请参阅什么是标签?

    • ENV_KEY=ENV_VALUE:可选。环境变量键值对的列表;例如 MONTH=January。如需了解详情,请参阅使用环境变量

    • ENCRYPT_KEY:可选。工作流应使用 projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME 格式进行数据加密的 Cloud KMS 密钥。如需了解详情,请参阅使用客户管理的加密密钥 (CMEK)

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com:可选。您的工作流将用于访问其他 Google Cloud 服务的服务账号。如果要更新服务帐号的角色,请参阅授予访问 Google Cloud 资源的工作流权限管理对项目、文件夹和组织的访问权限

    • YAML_OR_JSON_SOURCE_FILE:必填。工作流的源文件,采用 YAML 或 JSON 格式。例如:myFirstWorkflow.yaml

REST

如需更新现有工作流,请使用 projects.locations.workflows.patch 方法,并视需要使用 updateMask 查询参数指定要更新的字段列表。

在使用任何请求数据之前,请先进行以下替换:

  • WORKFLOW_NAME:工作流的名称,例如 myFirstWorkflow
  • DESCRIPTION:可选。工作流说明。不得超过 1000 个 Unicode 字符。
  • LABEL_KEYLABEL_VALUE:可选。标签键值对的映射,可帮助您整理 Google Cloud 实例。例如:{"name": "wrench", "mass": "1kg", "count": "3"} 如需了解详情,请参阅什么是标签?请注意,新标签最多可能需要 10 分钟才能生效。
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com:可选。您的工作流将用于访问其他 Google Cloud 服务的服务账号。项目 ID 就是您的 Google Cloud 项目 ID。如需了解详情,请参阅本文档中的创建服务帐号
  • ENCRYPT_KEY:可选。工作流应使用 projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME 格式进行数据加密的 Cloud KMS 密钥。如需了解详情,请参阅使用客户管理的加密密钥
  • CALL_LOGGING_LEVEL:可选。 要在执行期间应用的调用日志记录级别。默认值为不指定日志记录级别,系统会改为应用工作流日志级别。如需了解详情,请参阅将日志发送到 Logging。以下其中一列:
    • CALL_LOG_LEVEL_UNSPECIFIED:未指定日志记录级别,系统会应用工作流日志级别。这是默认设置。否则,系统会应用执行日志级别,并且其优先级高于工作流日志级别。
    • LOG_ERRORS_ONLY:记录捕获的所有异常;或由于异常而停止调用。
    • LOG_ALL_CALLS:记录对子工作流或库函数的所有调用及其结果。
    • LOG_NONE:无通话记录。
  • ENV_KEYENV_VALUE:可选。环境变量键值对的映射;例如 { "month": "January", "day": "Monday"}。如需了解详情,请参阅使用环境变量
  • SOURCE_CODE:缩减的工作流定义。例如:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
  • LOCATION:部署工作流的区域,例如 us-central1
  • UPDATE_FIELDS:可选。要更新的字段列表(以英文逗号分隔)。如果未提供,将更新整个工作流。例如 description,callLogLevel

请求 JSON 正文:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

如需发送您的请求,请展开以下选项之一:

如果成功,响应正文将包含一个新创建的 Operation 实例:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "update",
    "apiVersion": "v1"
  },
  "done": false
}

如果 "done" 的值为 false,则表示操作仍在进行中。

删除工作流

您可以删除现有工作流。删除工作流会同时删除其执行并取消工作流的所有活跃执行。

控制台

  1. 在 Google Cloud 控制台中,前往工作流页面。

    进入 Workflows

  2. 点击要删除的工作流的名称,然后点击 删除

  3. 在提示确认删除时,输入工作流名称。

  4. 点击确认

gcloud

  1. 打开终端。

  2. 找到要删除的工作流的名称。如果您不知道工作流的名称,则可以输入以下命令列出所有工作流:

    gcloud workflows list
    
  3. 使用 gcloud workflows delete 命令删除工作流:

    gcloud workflows delete WORKFLOW_NAME
    

    WORKFLOW_NAME 替换为您的工作流名称。

REST

如需删除具有指定名称的工作流,请使用 projects.locations.workflows.delete 方法。

在使用任何请求数据之前,请先进行以下替换:

  • WORKFLOW_NAME:您要删除的工作流的名称。
  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:部署工作流的区域,例如 us-central1

如需发送您的请求,请展开以下选项之一:

如果成功,则响应正文包含一个 Operation 实例:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "delete",
    "apiVersion": "v1"
  },
  "done": false
}

如果 "done" 的值为 false,则表示操作仍在进行中。

后续步骤