转储GAE应用程序的一个命名空间,并在另一个GAE应用程序的另一个命名空间中复制

时间:2014-05-30 18:51:00

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

我有一个运行在具有多个名称空间的gae上的saas web应用程序。 我们还在不同的application_id上有一个暂存环境。

有时(在调试时)能够在登台环境中复制生产数据非常有用,对于单个命名空间

Appengine已经提供option to backup/restore the whole database (including all namespaces)。这对我们不起作用。我们有很多名称空间,因此太慢/太贵了。

还有一个Bulk Loader能够将单个命名空间的数据转储到文件中。 在SO上还有一个相关的问题:How can I export data from Google App Engine High Replication datastore? 我想也许有一种简单的方法可以将一个这样的转储文件加载到现有的命名空间中?我不知道......帮助! : - )

1 个答案:

答案 0 :(得分:0)

数据存储区管理员将允许备份单个命名空间。选择种类并单击“备份实体”后,下一个屏幕允许您指定特定的命名空间。

如果备份保存在Google云端存储中,您可以在其他应用中导入该备份,该应用会将备份中的元数据加载到第二个应用中。导入后,可以恢复。但是,还原将使用原始应用程序中的相同命名空间。数据存储区管理员不会对命名空间转换执行任何命名空间。

如果您需要转换命名空间,则需要使用自己的MapReduce。您可以使用datastore admin itself的代码作为起始位置。