标签: google-workflows

有没有办法在本地运行 GCP 工作流程?

最近,我开始使用 GCP 工作流程和功能。我们使用无服务器框架来执行这些功能,我们可以使用命令在计算机上运行它们,serverless invoke local --function <function_name>这样我们就不必花费云执行时间。

我现在正在寻找的是是否有一种方法可以对 GCP 工作流程执行相同的操作,在我们自己的计算机中运行它们,而不是在云中调用它们。

我已经阅读了来自谷歌和许多不同文章的资源,但我仍然没有找到窍门(如果它确实存在)

cloud google-cloud-platform google-workflows

6
推荐指数
1
解决办法
1550
查看次数

如何使用 Google Workflow 检索 Cloud Run 服务的 URL?

我习惯于在 Cloud Run 上使用 CI/CD 架构进行部署。每次部署时,我都必须手动检索通过电子邮件发送给员工的 URL。我的目标是使用 Google Workflow 自动执行此任务。如何使用 Google Workflow 检索新服务的网址或 Cloud Run 服务的标签?

google-cloud-run google-workflows

5
推荐指数
1
解决办法
1264
查看次数

如何获取工作流中的执行ID

执行工作流程时,有一个唯一的Execution ID. 是否可以从工作流程中访问该值。例如,如果我要在步骤中使用执行 ID 作为文件名:

        url: https://storage.googleapis.com/upload/storage/v1/b/bucketname/o
        headers:
            Content-Type: application/json
        query:
            uploadType: media
            name: ${string(EXECUTION_ID) + ".json"}
    ```
Run Code Online (Sandbox Code Playgroud)

google-workflows

5
推荐指数
1
解决办法
1221
查看次数

对于 Cloud Functions Invoker 权限,Cloud Functions 也会返回 403 错误

在 GCP 内:

  1. 我在 Google Cloud Functions 中创建了一个函数。
  2. 我想从 Google Workflows 调用该函数。
  3. 我添加了一个具有“Cloud Functions Invoker”权限的服务帐户。
  4. 我在 Google Workflows 中创建了一个工作流程,它使用我之前添加的具有“Cloud Functions Invoker”权限的服务帐户。
  5. 我运行工作流程...它失败并显示“HTTP 服务器响应错误代码 403”。

如果我使用具有“Cloud Functions Invoker”权限的服务帐户,为什么会出现 403 错误?如果我禁用该功能的身份验证,它可以工作,但我需要身份验证,因为它不是公共 API。

google-cloud-platform google-cloud-functions google-workflows

4
推荐指数
1
解决办法
1883
查看次数

使用 Python 将参数传递给 Cloud Workflows

我正在开发一个 python 脚本,允许我触发云工作流服务。

在脚本中,我在调用
projects/{project}/locations/{location}/workflows/{workflow}/executions端点时传递一些参数。

但我没有找到如何在 YAML 中使用这些参数。

python google-workflows

3
推荐指数
1
解决办法
2076
查看次数

如何从另一个工作流程启动一个工作流程并检索被调用工作流程的返回值

我正在测试谷歌工作流程,并想从另一个工作流程调用工作流程,但作为一个单独的流程(不是子工作流程)

我可以开始执行,但目前无法检索返回值。我收到了一个执行实例:

{
     "argument": "null",
     "name": "projects/xxxxxxxxxxxx/locations/us-central1/workflows/child-workflow/executions/9fb4aa01-2585-42e7-a79f-cfb4b57b22d4",
     "startTime": "2020-12-09T01:38:07.073406981Z",
     "state": "ACTIVE",
     "workflowRevisionId": "000003-cf3"
 }
Run Code Online (Sandbox Code Playgroud)

父工作流.yaml

main:
params: [args]

steps:
    
    - callChild:
        call: http.post
        args:
            url: 'https://workflowexecutions.googleapis.com/v1beta/projects/my-project/locations/us-central1/workflows/child-workflow/executions'
            auth: 
                type: OAuth2
                scope: 'https://www.googleapis.com/auth/cloud-platform'
        result: callresult
    
    - returnValue:
        return: ${callresult.body}
Run Code Online (Sandbox Code Playgroud)

子工作流.yaml:

 - getCurrentTime:
        call: http.get
        args:
            url: https://us-central1-workflowsample.cloudfunctions.net/datetime
        result: CurrentDateTime
    - readWikipedia:
        call: http.get
        args:
            url: https://en.wikipedia.org/w/api.php
            query:
                action: opensearch
                search: ${CurrentDateTime.body.dayOfTheWeek}
        result: WikiResult
    - returnOutput:
        return: ${WikiResult.body[1]}
Run Code Online (Sandbox Code Playgroud)

另外还有一个问题:如何从变量创建动态 url。${} 似乎在那里不起作用

google-workflows

3
推荐指数
1
解决办法
2432
查看次数

GCP 工作流程的最大超时是多少?

我正在尝试使用 GCP 工作流程调用云运行端点。尽管云运行的最大超时为 1 小时,但工作流程给我带来了如下错误

请求超时为 2500 秒,最大允许超时为 1800 秒

这是特定于工作流程的吗?在文档中找不到这一点,有人可以确认一下吗?

google-cloud-platform google-workflows

3
推荐指数
1
解决办法
3768
查看次数

在 Nodejs 中执行 Google Cloud 工作流程时如何包含运行时参数?

我试图在执行谷歌云工作流程时包含运行时变量。除非您使用 REST API,否则我找不到执行此操作的文档。

这是我的代码,主要来自他们的文档,我只是得到了 null 参数。我认为这可能是它在 createExecution 上期望的第二个参数,名为执行,但我无法弄清楚。

const { ExecutionsClient } = require('@google-cloud/workflows');

const client = new ExecutionsClient();

const execute = () => {
  return client.createExecution(
    {
      parent: client.workflowPath('project_id', 'location', 'name'),
    },
    {
      argument: {
        users: ['info here'],
      },
    },
  );
};

module.exports = execute;
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

google-workflows

2
推荐指数
1
解决办法
1200
查看次数

GCP工作流程:加载外部sql文件?

我计划有一个云调度程序,每天早上 8 点调用 GCP 工作流程。我的 GCP 工作流程将有大约 15 个不同的工作流程steps,并且仅在 BigQuery 上进行转换(更新、删除、添加)。有些查询会很长,我想知道是否有办法将.sql文件加载到 GCP 工作流程中task1.yaml

#workflow entrypoint
ProcessItem:
  params: [project, gcsPath]
  steps:
    - initialize:
        assign:
          - dataset: wf_samples
          - input: ${gcsPath}
          - sqlQuery: QUERY HERE
   ...
Run Code Online (Sandbox Code Playgroud)

google-bigquery google-cloud-platform google-workflows

1
推荐指数
1
解决办法
1164
查看次数

GCP 工作流程:重新运行失败执行的简单方法

鉴于工作流执行失败(由工作流 ID 和执行 ID 标识),我需要一种相对快速且简单的方法来使用 CLI 工具 ( ) 使用相同的输入有效负载
重新运行它。 询问谷歌并在 stackoverflow 上搜索并没有给我带来任何简单的方法来做到这一点。gcloud

google-cloud-platform gcloud google-workflows

1
推荐指数
1
解决办法
947
查看次数

云工作流程与云构建构建基础设施?

从现在开始,我使用 Cloud Build 作为普通 CICD 来运行 terraform 和构建基础设施(有时我需要构建 Docker 容器,有时则没有)。

既然云工作流程可用,我想知道这是否是一个更好的工具,用于管道化原子步骤执行,以便轻松和更好的控制(例如条件执行、错误处理等、集中日志推送等)

我认为上述所有内容都可以在 Cloud Build 中完成,但这通常并不简单。

工作流程可以吗?如果不行,这个新工具的最佳用例是什么?

google-cloud-platform terraform-provider-gcp google-workflows

0
推荐指数
1
解决办法
549
查看次数