为了账号安全,请及时绑定邮箱和手机立即绑定

在 Google 云函数中运行 gsutil 命令

在 Google 云函数中运行 gsutil 命令

饮歌长啸 2022-11-18 14:13:23
我想作为云函数每 x 分钟运行一次 gsutil 命令。我尝试了以下内容:# main.pyimport osdef sync():     line = "gsutil -m rsync -r gs://some_bucket/folder gs://other_bucket/other_folder"     os.system(line)当 Cloud Function 被触发时,该行的执行不起作用(或者说文件没有从一个存储桶复制到另一个存储桶)。但是,当我在 Pycharm 中或使用 cmd 在本地运行它时,它确实工作正常。与云函数有什么区别?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

为此,您可以使用Cloud Run。您需要对代码进行很少的更改。

创建一个安装了 gsutil 和 python 的容器,例如gcr.io/google.com/cloudsdktool/cloud-sdk作为基础镜像

注意部署 Cloud Run 时使用的服务帐户,授予访问存储桶的正确权限

如果您需要更多指导,请告诉我


查看完整回答
反对 回复 2022-11-18
?
千万里不及你

TA贡献1784条经验 获得超9个赞

Cloud Functions 服务器实例未安装 gsutil。它可以在您的本地计算机上运行,因为您已经在那里安装和配置了它。

我建议尝试找到一种方法来使用适用于 python 的 Cloud Storage SDK 来执行您想要的操作。或者弄清楚如何使用您的函数部署 gsutil 并弄清楚如何从您的代码中配置和调用它,但这可能非常困难。


查看完整回答
反对 回复 2022-11-18
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

没有直接的选择。

我认为 Cloud Functions 的最佳选择是使用google-cloud-storage python 库


查看完整回答
反对 回复 2022-11-18
  • 3 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信