2009-12-27 8 views
12

Google selbst bietet zwei Lösungen.Wie können Daten in Google App Engine am besten gesichert werden?

http://code.google.com/appengine/docs/python/tools/uploadingdata.html

Eines davon ist neu und experimentell und erfordert, dass Sie einen separaten Befehl ausgeführt werden soll (und separat Ihren Benutzernamen und Passwort eingeben) für jede Art von Daten, die Sie sichern möchten.

Die andere erfordert, dass Sie zweimal Informationen über die Struktur aller Arten Ihrer Daten ausschreiben, Informationen, die bereits in Ihrer Modelldatei enthalten sind. (Wir haben 25 verschiedene Arten von Daten, so bin ich sensibel für diese Art von Sachen. Plus es wird bedeuten, dass zukünftige Änderungen an 3 Stellen gemacht werden müssen.)

Dann gibt es Aral Balkan's Lösung (google for " gaebar "), aber sein Code auf Github wurde seit ungefähr einem Jahr nicht mehr aktualisiert und er weist die Leute außerdem an, einige Änderungen an den App Engine-Interna vorzunehmen (was riskant erscheint, da sie sich in jeder Version ändern).

Ich denke, ich bin auf die nicht-experimentelle Lösung von Google gelehnt, aber sie scheinen alle ziemlich schlecht zu sein.

+0

siehe diese Frage für weitere Informationen -> http://stackoverflow.com/questions/1245632/is-there-any-tool-to-backup-restore-google-datastore-entities – JohnIdol

Antwort

3

Sehen Sie sich AppRocket an (eine Open-Source-Replikations-Engine, die den Google App Engine-Datenspeicher und die MySQL-Datenbank synchronisiert.) Das Projekt scheint aktiv zu sein.

+0

Scheint wie dieses Projekt jetzt ist 5 Jahre verstorben und ist nach Github umgezogen. Einige andere Entwickler haben einige neuere Updates vorgenommen - bis 2012. https://github.com/k7d/approcket/network –

2

Was stimmt nicht mit der Funktion --dump? Ja, Sie müssen jede Art einzeln herunterladen, aber das wird bei jeder Lösung der Fall sein. Wenn Sie nur Sicherungen möchten, passt es genau Ihren Anforderungen.

+0

Warum muss ich meinen Benutzernamen und mein Passwort für jede Art getrennt eingeben? –

+0

Sie müssen nicht - verwenden Sie einfach die Cookie-Caching-Funktionalität, die standardmäßig aktiviert sein sollte. –

+1

Herunterladen jeder Art separat wird nicht mehr benötigt. – dfrankow

11

Hier ist eine genauere Beschreibung von bulkloader.py No-Config-Backup und Restore-Lösung. Ich weiß nicht, wann this issue (stack overflow) entsteht.

Dumping Daten aus FooApp Anwendung in eine Datei dump1.bin genannt:

python2.5 /usr/local/google_appengine/bulkloader.py \ 
    --dump --url http://fooapp.appspot.com/remote-api-url \ 
    --filename dump1.bin 

Sie müssen die remote API enabled haben. Die remote-api-url könnte je nach Konfiguration _ah/remote_api sein.

Laden von Daten aus dump1.bin zu einem lokalen dev Beispiel:

python2.5 /usr/local/google_appengine/bulkloader.py \ 
    --restore --url http://localhost:8080/remote-api-url \ 
    --filename dump1.bin --application fooapp 

Dies setzt ein UNIX-ähnliches System, und dass appengine in/usr/local/google_appengine installiert.

Ich weiß nicht, ob es mit Java funktioniert, aber es könnte.

Verwandte Themen