使用Google App Engine更新Google Compute Engine上的文件

问题描述 投票:0回答:4

我正在从事一个涉及使用Google App Engine(GAE)服务器来控制一个或多个Google Compute Engine(GCE)实例的项目。 该项目的其余部分运行良好,但是我在一个特定方面存在问题:文件管理。 我希望我的GAE在我的GCE实例上编辑一个文件,经过几天的研究,我对如何做到这一点空白了。

最简单的例子是:

步骤1)用户将文本输入GAE表单。

步骤2)用户单击一个按钮以表示他们想将文本“提交”到GCE

步骤3)GAE用用户的新内容替换GCE上特定(硬编码路径)文本文件的内容。

步骤4)(附加步骤)GCE注意到文件已更改(通过检测更改或在推送新内容时通过GAE警报该文件)并运行脚本来处理新文件。

我知道使用SCP或其他终端命令很容易做到。 我已经做到了,而且效果很好。 我需要的是让GAE在无需我干预的情况下直接发送该内容的方法。

我拥有该项目所涉及的GAE和GCE的所有实例的完全访问权限,并且可以设置任何一个平台上需要的代码。

预先感谢您的帮助!

python google-app-engine file-transfer google-compute-engine
4个回答
1
投票

您可以使用Google Cloud Storage Client将文件加载到Cloud Storage存储桶中,并让GCE实例将文件从GCS复制到本地文件系统。 在GCE方面,您可以使用“ 对象更改通知”来实现奖励步骤4。


0
投票

最直接的方法似乎是:

  1. 用户在App Engine实例上提交表单。
  2. App Engine实例使用新数据对GCE实例上的处理程序进行POST调用。
  3. GCE实例更新其自己的文件并进行处理。

0
投票

您可以在GAE中设置cron

https://developers.google.com/appengine/docs/python/config/cron?hl=es

并直接在您的代码中创建一个SCP作业。

如何在python中进行scp?

我希望这项工作对您有用。


0
投票

您可以在表单中设置一个操作URL来指向GCE实例(如果有多个,则可以进行负载均衡)。 然后,所有数据都将直接上传到GCE实例,而您不必担心将数据从App Engine实例传输到GCE实例。

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