0

由于 GAE 平台的频繁变化,我阅读了不同的文章并且有点困惑在 2013 年导出/上传数据的最佳方式是什么。批量上传工具并不是真正适用于高复制存储根据文档

本文档适用于使用主/从数据存储的应用程序。如果您的应用使用 High Replication 数据存储,则可以从应用复制数据,但 Google 目前不支持此用例。

请评论以下具体场景。我打算使用 golang 运行时,但希望这不会影响备份/恢复。

  1. 如何使用初始(种子/测试)数据加载数据存储。说,我可以以管理员身份登录,然后需要将数据从 csv/json 文件加载到数据存储区到命名空间。

  2. 数据存储区管理员:我认为这个实验性功能是用于备份/恢复的。它适用于 GO 运行时吗?存储备份文件的格式。我可以用 json 做吗?

谢谢。

4

1 回答 1

0

我在 AppEngine 上运行了一些应用程序,根据我的经验,最初使用现有数据填充数据库的最简单方法是将 .json 文件与您的应用程序文件一起包含,然后使用:

with open( 'yourdata.json', 'r') as file :
    data = json.loads( file.read() )

获取您的数据,然后重新创建必要的数据库实体。您可以在下次上传应用程序时删除 .json 文件,因为不再需要这些文件。

关于备份,有 Datastore Admin,它允许您创建备份并将它们存储到BlobStore或其他一些云空间,但我发现它们真的不方便再次下载和重新上传 - 有几十个不同的文件,很容易忘记或错过一些东西。

因此,我建议您编写自己的备份例程,也将您的数据保存到BlobStore, 但在一个文件中,这样您就可以轻松下载并重新上传,而不必担心丢失/忘记文件。

备份文件的创建将非常简单——打开BlobStore文件进行写入,然后迭代您的模型并将它们转换为 .json 并写入(可选地使用 (g)zip 动态压缩)到BlobStore文件。

于 2013-03-23T02:27:16.433 回答