GAE数据上传(种子和备份/恢复)

时间:2013-03-22 15:30:16

标签: google-app-engine google-cloud-datastore database-backups

由于GAE平台的频繁更改,我阅读了不同的文章,并对2013年导出/上传数据的最佳方式感到困惑。批量上传工具并非真正意味着根据{{3 }}

  

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

请评论以下具体情况。我计划使用golang运行时,但希望这不会影响备份/恢复。

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

  2. doc: 我认为这个实验性功能是用于备份/恢复。它适用于GO运行时吗?备份文件的格式是什么。我可以在json中做到吗?

  3. 感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

关于备份,有数据存储管理,它允许您创建备份并将它们存储到BlobStore或其他一些云空间,但我发现它们非常不方便下载和重新上载 - 有几十个不同的文件,很容易忘记或遗漏的东西。

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

创建备份文件非常简单 - 打开BlobStore文件进行编写,然后迭代模型并将其转换为.json并编写(可选择使用(g)zip压缩)到BlobStore文件。