是否可以在GCP上将gsutil作为常规Linux cronjob运行?

问题描述 投票:1回答:1

[我有一个脚本可以对gcloudgsutil之类的bq utils进行处理,例如:

#!/usr/bin/env bash

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

这可以在我的机器或VM上运行,但是我不能保证它会一直打开,因此我想将其添加为GCP cronjob / Lambda类型的东西。从文档here看来,Cloud Scheduler只能执行HTTP请求,发布/订阅或App Engine HTTP,而这些都不是我想要的。

所以:GCP中有什么方法可以自动执行某些gsutil / bq命令,例如cronjob,但没有我提供始终在线的机器

google-cloud-platform gsutil google-cloud-scheduler
1个回答
1
投票

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

对我来说,我将研究Google Cloud Run的概念。这里的想法是创建一个Docker映像,然后在被REST请求调用时实例化,运行并清理它。您在docker映像中放置的内容由您决定100%。它可能是带有安装了脚本的gcloud和gsutil之类的工具的简单映像,该脚本可以使用任何所需参数运行它们。您与Cloud Run的合同仅是您消耗传入的HTTP请求。

[没有向Cloud Run的请求时,因为没有任何运行,所以不收费。仅在您的逻辑实际执行的期间内向您收费。

我建议将Cloud Run over Cloud功能作为Cloud Run来使用,它允许您定义运行命令的环境...例如,gsutil的可用性。

© www.soinside.com 2019 - 2024. All rights reserved.