【问题标题】:Restore app-engine entities locally在本地恢复应用引擎实体
【发布时间】:2013-11-01 20:47:54
【问题描述】:

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

【问题讨论】:

  • 那么教程的这一部分告诉你如何上传以及developers.google.com/appengine/docs/python/tools/…
  • 这里的关键词是“本地”。该文档没有提及本地数据存储。
  • 您使用的是 Python 还是 Java?
  • 对 Java 的回答将不胜感激,但我相信很多人也希望听到更多关于 Python 的信息
  • @Adelin 我真的很想知道如何将数据存储实体转储到一个可以复制 datastore.db 的文件中。我在同一个问题上。等待回复。谢谢

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


【解决方案1】:

在windows中,数据存储在目录中

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

在 OSx this 问题可以帮助你

在这个目录下存放datastore.db(本地存储),改名字(app应该不运行,如果被锁,杀掉所有python进程)

现在转到应用引擎dashboard

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2013-03-02
        • 1970-01-01
        • 2015-03-09
        • 1970-01-01
        • 1970-01-01
        • 2013-08-09
        • 1970-01-01
        • 1970-01-01
        • 2016-08-16
        相关资源
        最近更新 更多