gpt4 book ai didi

google-cloud-platform - 有没有办法在 GCP 上将 gsutil 作为常规 Linux cronjob 运行?

转载 作者:行者123 更新时间:2023-12-04 01:36:22 36 4
gpt4 key购买 nike

我有一个脚本可以使用 gcloud utils 做一些事情,比如 gsutilbq,例如:

#!/usr/bin/env bash

bq 'SELECT * FROM myproject.whatever WHERE date > $x' > res.csv
gsutil cp res.csv gs://my_storage/foo.csv

这适用于我的机器或虚拟机,但我不能保证它会一直运行,所以我想将其添加为 GCP cronjob/Lambda 类型的东西。来自文档 here ,看起来 Cloud Scheduler 只能执行 HTTP 请求、Pub/Sub 或 App Engine HTTP,这些都不是我想要的。

那么:在 GCP 中是否有任何方法可以自动执行一些 gsutil/bq 命令,例如 cronjob,但无需我提供永远在线的机器?

最佳答案

可能会有多个答案,这只是一个。

对我来说,我会检查 Google Cloud Run 的概念.这里的想法是,您可以创建一个 Docker 镜像,然后在 REST 请求调用时实例化、运行和清理该镜像。您放入 docker 镜像中的内容 100% 由您决定。它可以是一个简单的图像,其中安装了 gcloud 和 gsutil 等工具,并安装了脚本以使用任何所需参数运行它们。您与 Cloud Run 的契约(Contract)只是您使用传入的 HTTP 请求。

当没有对 Cloud Run 的请求时,不会产生任何费用,因为没有任何东西在运行。您只需为逻辑实际执行的持续时间付费。

我推荐 Cloud Run 而不是 Cloud Functions,因为 Cloud Run 允许您定义命令运行的环境……例如……gsutil 的可用性。

关于google-cloud-platform - 有没有办法在 GCP 上将 gsutil 作为常规 Linux cronjob 运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397232/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com