在本地恢复app-engine实体

时间:2013-11-01 20:47:54

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

大家好我已经抛弃了(备份)了我的Appengine数据存储区实体following this tutorial,现在我想知道是否有办法在本地恢复数据?所以我可以做一些测试和调试。

3 个答案:

答案 0 :(得分:5)

在Windows中,数据存储位于目录

C:\Users\UserName\AppData\Local\Temp\AppName

在OSx this问题可以帮助您

在这个目录中存放datastore.db(本地存储),更改名称(应用程序不应该运行,如果被锁定,则终止所有python进程)

现在转到appengine dashboard

  1. 点击您的应用链接
  2. 点击Blob Viewer(我假设您已将备份放入blobstore)
  3. 点击文件名
  4. 点击下载
  5. 将文件重命名为datastore.db
  6. 复制到上一个路径
  7. 启动应用

答案 1 :(得分:4)

远程API(如koma提及)是GAE记录的主要方法,它是一种很好的方法。或者,您可以使用云下载工具下载实体,编写您自己的商店阅读器/反序列化器,并在您的开发服务器本地实例中执行它:http://gbayer.com/big-data/app-engine-datastore-how-to-efficiently-export-your-data。阅读关于新方法的部分......

虽然这些选项不是自动的并且需要工程设计,但我真的想指出这样做的副作用:我们几个月来一直在本地开发服务器中遇到性能问题,特别是当数据存储区有超过1,000个实体时超过50个索引。只需搜索" require_indexes slow"而且你会看到我在说什么。

我确信您有充分的理由在本地导入大量数据进行测试和调试,只是想让您知道您的应用程序执行速度非常慢,而且调试模式将非常慢;我们甚至不能在我们的设置中使用调试模式。

答案 2 :(得分:1)

如果您想在本地数据库中获取一些测试数据,可以使用remote api

复制一些测试数据