GAE / J数据存储备份

时间:2010-03-02 15:33:40

标签: java google-app-engine

进行GAE / J数据存储备份的最简单方法是什么?

看起来有python bulkloader.py工具为Python应用程序做备份,但是我应该怎么做才能备份Java应用程序?有没有办法使用python工具?

5 个答案:

答案 0 :(得分:16)

可以使用python tool bulkloader.py来创建GAE Java app的数据存储备份。您只需通过在web.xml中添加以下行来设置remote_api:

<?xml version="1.0" encoding="utf-8"?>
<web-app>
  <!-- Add this to your web.xml to enable remote API on Java. -->
  <servlet>
    <servlet-name>remoteapi</servlet-name>
    <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>remoteapi</servlet-name>
    <url-pattern>/remote_api</url-pattern>
  </servlet-mapping>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>remoteapi</web-resource-name>
      <url-pattern>/remote_api</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>
</web-app> 

之后,您可以使用bulkloader.py和--dump下载备份,使用--restore将备份上传到数据存储区。

答案 1 :(得分:2)

或者如果可以,您可以等待GAE即将推出的版本中的数据存储备份恢复功能,如路线图中所示。 http://code.google.com/appengine/docs/roadmap.html

答案 2 :(得分:2)

我知道这个问题已经过时了,但这是应用引擎信息中心中Datastore Administration的一项功能。

答案 3 :(得分:1)

只需使用路线here为您的应用设置remote_api - 特别是提示:

  

提示:如果您有Java应用程序,则可以   使用Python bulkloader.py工具   安装Java版本的   remote_api处理程序,包含在内   使用Java运行时环境。该   处理程序servlet类是   com.google.apphosting.utils.remoteapi.RemoteApiServlet。

然后,将Python bulkloader与--dump或--restore一起使用。

答案 4 :(得分:0)

您现在可以使用托管导出和导入功能,可以通过gcloud或Datastore Admin API访问:

Exporting and Importing Entities

Scheduling an Export