Google本身提供两种解决方案.
http://code.google.com/appengine/docs/python/tools/uploadingdata.html
其中一个是新的和实验性的,需要您为要备份的每种数据运行单独的命令(并单独输入您的用户名和密码).
另一个要求您两次写出有关所有类型数据结构的信息,这些信息已经隐含在模型文件中.(我们有25种不同的数据,所以我对这种东西很敏感.另外,这意味着未来的变化必须在3个地方进行.)
然后是Aral Balkan的解决方案(google用于"gaebar"),但是他在Github上的代码在大约一年内没有更新,而且他还告诉人们对App Engine内部进行一些修改(这似乎有风险,因为他们改变了每个版本).
我认为我倾向于谷歌的非实验性解决方案,但它们看起来都很糟糕.
dfr*_*kow 11
以下是bulkloader.py no-config备份和还原解决方案的更明确说明.我不知道什么时候出现这个问题(堆栈溢出).
将数据从fooapp转储到名为dump1.bin的文件中:
python2.5 /usr/local/google_appengine/bulkloader.py \
--dump --url http://fooapp.appspot.com/remote-api-url \
--filename dump1.bin
Run Code Online (Sandbox Code Playgroud)
您必须启用远程API.将remote-api-url可能_ah/remote_api取决于您的配置.
将数据从dump1.bin加载到本地开发实例:
python2.5 /usr/local/google_appengine/bulkloader.py \
--restore --url http://localhost:8080/remote-api-url \
--filename dump1.bin --application fooapp
Run Code Online (Sandbox Code Playgroud)
这假定类似UNIX的系统,并且appengine安装在/ usr/local/google_appengine中.
我不知道它是否适用于Java,但它可能.