Went / backstore备份

问题描述 投票:11回答:5

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

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

java google-app-engine
5个回答
16
投票

可以使用python工具bulkloader.py来创建GAE Java应用程序的数据存储备份。您只需通过向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将备份上传到数据存储区。


2
投票

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


2
投票

我知道这个问题已经过时了,但这是应用引擎仪表板中Datastore Administration的一个特性。


1
投票

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

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

然后,使用带有--dump或--restore的Python bulkloader。


0
投票

您现在可以使用托管导出和导入功能,可以通过gcloud或数据存储管理API访问:

Exporting and Importing Entities

Scheduling an Export

© www.soinside.com 2019 - 2024. All rights reserved.