【发布时间】:2020-08-30 20:26:33
【问题描述】:
我想每 x 分钟运行一次 gsutil 命令作为云功能。我尝试了以下方法:
# main.py
import os
def sync():
line = "gsutil -m rsync -r gs://some_bucket/folder gs://other_bucket/other_folder"
os.system(line)
当 Cloud Function 被触发时,该行的执行不起作用(或者即文件没有从一个存储桶复制到另一个存储桶)。但是,当我在 Pycharm 或使用 cmd 本地运行它时,它确实可以正常工作。与云功能有什么区别?
【问题讨论】:
-
首先你应该检查
gsuitl是否工作(不运行Python),然后你可以尝试使用crontab(而不是Python)每X分钟运行一次——如果你使用Linux。 -
我绑定到使用 os.popen 和 os.system 运行它,虽然这在我的本地终端中运行良好,但它不会在云功能中触发它。我基本上看到一个空白行,然后它说该函数已完全执行。似乎更像是一个 gcf 问题,更新了答案。
标签: python google-cloud-platform google-cloud-functions google-cloud-storage gsutil