我正在从事一个涉及使用Google App Engine(GAE)服务器来控制一个或多个Google Compute Engine(GCE)实例的项目。 该项目的其余部分运行良好,但是我在一个特定方面存在问题:文件管理。 我希望我的GAE在我的GCE实例上编辑一个文件,经过几天的研究,我对如何做到这一点空白了。
最简单的例子是:
步骤1)用户将文本输入GAE表单。
步骤2)用户单击一个按钮以表示他们想将文本“提交”到GCE
步骤3)GAE用用户的新内容替换GCE上特定(硬编码路径)文本文件的内容。
步骤4)(附加步骤)GCE注意到文件已更改(通过检测更改或在推送新内容时通过GAE警报该文件)并运行脚本来处理新文件。
我知道使用SCP或其他终端命令很容易做到。 我已经做到了,而且效果很好。 我需要的是让GAE在无需我干预的情况下直接发送该内容的方法。
我拥有该项目所涉及的GAE和GCE的所有实例的完全访问权限,并且可以设置任何一个平台上需要的代码。
预先感谢您的帮助!
您可以使用Google Cloud Storage Client将文件加载到Cloud Storage存储桶中,并让GCE实例将文件从GCS复制到本地文件系统。 在GCE方面,您可以使用“ 对象更改通知”来实现奖励步骤4。
最直接的方法似乎是:
您可以在GAE中设置cron
https://developers.google.com/appengine/docs/python/config/cron?hl=es
并直接在您的代码中创建一个SCP作业。
我希望这项工作对您有用。
您可以在表单中设置一个操作URL来指向GCE实例(如果有多个,则可以进行负载均衡)。 然后,所有数据都将直接上传到GCE实例,而您不必担心将数据从App Engine实例传输到GCE实例。