2010-03-02 11 views
11

¿Cuál es la forma más fácil de hacer una copia de seguridad de almacén de datos de GAE/J?Copia de seguridad de almacenamiento de datos de GAE/J

Parece que hay una herramienta python bulkloader.py para realizar copias de seguridad de las aplicaciones de Python, pero ¿qué debo hacer para hacer una copia de seguridad de la aplicación Java? ¿Hay alguna forma de usar la herramienta Python?

Respuesta

16

Es posible utilizar la herramienta python bulkloader.py para crear una copia de seguridad del almacén de datos de la aplicación GAE Java. Sólo tienes que configurar remote_api añadiendo las líneas siguientes a web.xml:

<?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> 

Después de que se pueden utilizar con bulkloader.py --dump descargar copias de seguridad y con --restore para cargar copias de seguridad de almacén de datos.

+3

La parte de restricción de seguridad ahora se puede eliminar de forma segura (AppEngine 1.4.3), ya que el Servlet ahora también realiza esta comprobación –

+0

Esta no es una solución válida con el almacén de datos de HR: "Si intenta descargar datos, verá un error de high_replication_warning en la Consola de administración, y los datos descargados pueden no incluir entidades guardadas recientemente ". –

+0

Consulte [Aquí] (http://stackoverflow.com/a/12458521/1328880) para conocer los pasos necesarios para usar RemoteApiServlet – Maithilish

1

acaba de crear remote_api aplicación a través de las direcciones here - en particular la punta:

Tip: Si usted tiene una aplicación Java, puede utilizar la herramienta bulkloader.py Python por instalar el Java versión del controlador remote_api , que se incluye con el entorno de ejecución de Java. La clase de servlet del manejador es com.google.apphosting.utils.remoteapi.RemoteApiServlet.

A continuación, utilice el cargador masivo de Python con --dump o --restore.

+0

puede bulkloader --dump hacer descargas incrementales? – Thilo

+1

No. Actualmente no existe una forma genérica de realizar descargas incrementales, ya que App Engine no expone un pedido total sobre las entidades. –

2

Sé que esta pregunta es bastante antigua, pero esta salió como una característica del Datastore Administration en el panel de la aplicación del motor.

Cuestiones relacionadas