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