【问题标题】:Storing XML files google app engine存储 XML 文件谷歌应用引擎
【发布时间】:2018-02-21 14:20:04
【问题描述】:

刚开始学习谷歌云平台。

我读过关于谷歌云存储的信息,除非我覆盖它们,否则无法修改存储的文件。

我想存储经常修改的xml文件。

还有没有另一种可能在谷歌云平台谷歌中存储和修改xml文件?

【问题讨论】:

  • 因为我需要经常附加到文件中,当文件在大小方面变得重要时会不会有问题?想象一下每次都必须用额外的内容重写所有内容

标签: xml google-app-engine google-cloud-platform storage google-cloud-storage


【解决方案1】:

最好的方法是将数据存储在数据库中。我更喜欢 Cloud DataStore 这样的 NoSQL 数据库,但您可以根据自己的喜好进行选择。如果您热衷于将数据保存在文件中(尽管这是一个糟糕的设计),那么可以使用 Google Cloud Storage。我不喜欢GCS,因为它在其中获取和保存数据比将其存储在 Datastore 中要慢。如果您不需要搜索数据,那么实际上您也可以将完整的 XML 字符串作为 TextProperty 存储在 Datastore 中。我已将完整的 JSON 字符串保存到 Datastore 中,它比在 App Engine 中访问 GCS 存储桶要快得多。

另一种选择是使用Compute Engine 而不是App Engine 将文件保存在实例中,尽​​管如果您尝试将应用扩展到多个实例,这会导致问题。

【讨论】:

  • 谢谢(y),我会尝试按照您所说的在数据存储中构建我的 xml 文件,我认为这是一个好主意,因为 json 文件的结构也很好:D
【解决方案2】:

您打算多久覆盖一次?如果它们相当大(> 1 兆字节左右)并且您希望比每隔几秒更频繁地更新它们,GCS 可能不是最佳选择,不是因为它不起作用,而是因为可能会有更快和更少带宽密集型选项,然后快速编辑大型 XML 文件并重写它。根据您的程序需要,有很多选项:

  • 编写一系列“增量”来记录微小的变化,然后将它们组合在一起。
  • 将数据保存在 Cloud Datastore、Cloud Bigtable 或 Cloud SQL 或其他允许快速、结构化更改的东西中。
  • 使用 Persistant Disk 之类的东西来获得更多的“编辑文件”界面。

还有许多其他更自定义的解决方案。这完全取决于您的程序的需要。

【讨论】:

  • 感谢您的回答。我真正想做的是将两个人之间的对话保存在格式良好的 xml 文件中,我不想将对话存储在数据库中。有什么办法吗?或您可以建议我的任何其他选择?
猜你喜欢
  • 1970-01-01
  • 2014-10-30
  • 2015-02-01
  • 2012-10-13
  • 1970-01-01
  • 2018-05-09
  • 2014-10-21
  • 2013-05-17
  • 1970-01-01
相关资源
最近更新 更多