下载Google App Engine数据库
在Google App Engine数据存储区中创建表(实体)后,我创建了Web应用程序并将其部署到Google App Engine中。 我怀疑是否可以下载实体/数据库?
要启用remote_api
,请将其添加到web.xml
:
remote-api com.google.apphosting.utils.remoteapi.RemoteApiServlet remote-api /remote_api
此主题中的详细信息: http : //groups.google.com/group/google-appengine/browse_thread/thread/1bb013cbdd30750b
然后,正如shay所提到的,使用批量加载器 。
(仅作为答案而不是评论添加,因为XML不会在评论中很好地格式化。)
我有一个简单的要求从基于GAE Java的应用程序转储实体并将它们还原到本地数据存储区。 我终于可以通过以下步骤来完成它了
-
将RemoteApiServlet添加到web.xml并部署应用程序
RemoteApi com.google.apphosting.utils.remoteapi.RemoteApiServlet RemoteApi /remote_api -
下载适用于Python的Google App Engine SDK并解压缩
-
使用bulkloader.py从GAE转储数据存储区
bulkloader.py –dump –application = s~appid –url = http://appid.appspot.com/remote_api –filename = xyz.dump
– 应用程序以s~appid给出,即tilda appid,因为app正在使用HR数据存储区。 对于Master / Slave datasotre,普通的appid会做。
bulkload.py将提示输入app的登录凭据。 在身份validation时,它会将实体转储到指定的文件。
-
要恢复使用以下命令
bulkloader.py –restore –application = appid –url = http://127.0.0.1:8888 / remote_api –filename = xyz.dump
对于本地凭据,请使用电子邮件admin和空密码。 即使对于HRD本地数据存储区,也使用普通的appid(s~appid恢复数据,但在开发控制台中无法访问实体 – 数据存储区查看器。我不知道为什么)
转储可以恢复到相同的appid甚至是不同的appid
是的,使用BulkLoader