快速入门:使用 Google Cloud Console 创建工作流

使用 Google Cloud Console 创建工作流

本快速入门介绍如何使用控制台创建、部署和执行第一个工作流。工作流会向示例 API 发送请求,然后使用响应创建请求并将其发送至公共 API。然后,工作流会返回公共 API 的响应。


如需直接在控制台中查看此任务的分步指南,请点击操作演示

操作演示


以下部分将引导您完成与点击操作演示相同的步骤。

准备工作

如果您的组织将限制应用于您的 Google Cloud 环境,则本文档中的某些步骤可能无法正常工作。在这种情况下,您可能无法完成创建公共 IP 地址或服务帐号密钥等任务。如果您发出的请求会返回有关限制条件的错误,请参阅如何在受限的 Google Cloud 环境中开发应用

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

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

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

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

  6. 启用 Workflows API。

    启用 Workflows API
  7. 在控制台中,转到服务帐号页面。

    转到“服务帐号”
  8. 选择项目,然后点击创建服务帐号
  9. 服务帐号名称字段中,输入一个名称,例如 sa-name
  10. 点击创建并继续
  11. 如需将日志发送到 Cloud Logging,请点击选择角色字段,然后选择 Logging > 日志写入者

    如需详细了解服务帐号角色和权限,请参阅授予工作流访问 Google Cloud 资源的权限

  12. 点击完成

创建和部署工作流

  1. 如需创建新的工作流,请在 Google Cloud Console 中打开“工作流”页面:
    转到“工作流”页面

  2. 在控制台中的“工作流”页面上,选择创建

  3. 输入新工作流的名称,例如 myFirstWorkflow

  4. 选择 us-central1 作为区域。

  5. 对于服务帐号,选择您之前创建的服务帐号。

  6. 选择下一步

  7. 在工作流编辑器中,复制并粘贴以下工作流:

    YAML

    main:
      params: [input]
      steps:
        - checkInputExists:
            switch:
              - condition: ${input != null}
                next: checkSearchTermInInput
            next: getCurrentTime
        - checkSearchTermInInput:
            switch:
              - condition: ${"searchTerm" in input}
                assign:
                  - searchTerm: ${input.searchTerm}
                next: readWikipedia
        - getCurrentTime:
            call: http.get
            args:
              url: https://us-central1-workflowsample.cloudfunctions.net/datetime
            result: currentDateTime
        - setFromCallResult:
            assign:
              - searchTerm: ${currentDateTime.body.dayOfTheWeek}
        - readWikipedia:
            call: http.get
            args:
              url: https://en.wikipedia.org/w/api.php
              query:
                action: opensearch
                search: ${searchTerm}
            result: wikiResult
        - returnOutput:
            return: ${wikiResult.body[1]}

    JSON

    {
      "main": {
        "params": [
          "input"
        ],
        "steps": [
          {
            "checkInputExists": {
              "switch": [
                {
                  "condition": "${input != null}",
                  "next": "checkSearchTermInInput"
                }
              ],
              "next": "getCurrentTime"
            }
          },
          {
            "checkSearchTermInInput": {
              "switch": [
                {
                  "condition": "${\"searchTerm\" in input}",
                  "assign": [
                    {
                      "searchTerm": "${input.searchTerm}"
                    }
                  ],
                  "next": "readWikipedia"
                }
              ]
            }
          },
          {
            "getCurrentTime": {
              "call": "http.get",
              "args": {
                "url": "https://us-central1-workflowsample.cloudfunctions.net/datetime"
              },
              "result": "currentDateTime"
            }
          },
          {
            "setFromCallResult": {
              "assign": [
                {
                  "searchTerm": "${currentDateTime.body.dayOfTheWeek}"
                }
              ]
            }
          },
          {
            "readWikipedia": {
              "call": "http.get",
              "args": {
                "url": "https://en.wikipedia.org/w/api.php",
                "query": {
                  "action": "opensearch",
                  "search": "${searchTerm}"
                }
              },
              "result": "wikiResult"
            }
          },
          {
            "returnOutput": {
              "return": "${wikiResult.body[1]}"
            }
          }
        ]
      }
    }

    此工作流会调用示例 API。一周的返回日期会传递至 Wikipedia API。系统会返回维基百科上有关本周当前日期的相关文章。

  8. 选择部署

执行工作流

现在,我们已成功部署第一个工作流,接下来可以执行该工作流了。部署工作流后,您将转到其详情页面。

工作流详情页面

如需执行工作流,请执行以下操作:

  1. 工作流详情页面上,选择执行

  2. 执行工作流页面上,选择执行

  3. 输出窗格中查看工作流的结果。

    Workflows 快速入门输出

您已部署并执行了第一个工作流程!

清理

为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请按照以下步骤操作。

  1. 转到控制台中的 Workflows 页面。
    Workflows

  2. 从工作流列表中,点击工作流以转至其工作流详情页面。

  3. 点击删除

  4. 输入工作流的名称,然后点击确认

后续步骤