J'ai créé une application Web et je l'ai déployée dans Google App Engine après avoir créé une table (entité) dans le magasin de données Google App Engine. Mon doute est-il possible de télécharger l'entité/base de données?Téléchargement de la base de données Google App Engine
Répondre
Oui, en utilisant le BulkLoader
pour permettre remote_api
, ajoutez à votre web.xml
:
<servlet>
<servlet-name>remote-api</servlet-name>
<servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>remote-api</servlet-name>
<url-pattern>/remote_api</url-pattern>
</servlet-mapping>
détails sur ce sujet: http://groups.google.com/group/google-appengine/browse_thread/thread/1bb013cbdd30750b
puis, comme mentionné shay, utilisez le bulk loader.
(ajouté en réponse au lieu d'un commentaire seulement parce que le XML ne serait pas bien dans le format un commentaire.)
j'avais simple obligation de vider les entités de GAE Java App et les restaurer à datastore locale . Je pouvais enfin le faire avec les étapes suivantes
Ajouter RemoteApiServlet à Web.xml et déployer l'application
<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>
Télécharger Google App Engine SDK pour Python et décompressez
Utilisation de bulkloader.py pour vider la banque de données à partir de GAE
bulkloader.py --dump --application = s ~ appid --url = http: //appid.appspot.com/remote_api --filename = xyz.dump
--application est donné comme s ~ appid c'est-à-dire s tilda appid que l'application utilisait le datastore HR. Pour la base de données Master/Slave, l'appid simple fera l'affaire. Bulkload.py demandera des informations de connexion pour l'application. Lors de l'authentification, il va vider les entités dans le fichier spécifié.
Pour restaurer l'utilisation commande suivante
bulkloader.py --restore --application = appid --url = http: //127.0.0.1: 8888/remote_api --filename = xyz.dump
Pour les informations d'identification locales, utilisez l'administrateur d'e-mail et le mot de passe vide. Même pour le datastore local HRD, utilisez plain appid (s ~ appid restaure les données mais les entités ne sont pas accessibles dans Development Console - Viewerore.Je ne sais pas pourquoi)
Dump peut être restauré à la même appid ou même à différents appid
J'ai besoin d'autres exemples, comment télécharger des données à partir du moteur Google App datastore – user441392
j'utilise ceci: 'python2.5 appcfg.py download_data -A APP-ID --url http: // app- ID.appspot.com/remote_api --filename = datastore - $ (date +% Y% m% d-% H% M) .data' – sahid
Dans ce bulkloaderlink, ils expliquent aussi comment utiliser python.Mais j'utilise Java pour que je ne peux pas suivre cet exemple.Je veux une explication claire sur la façon dont les données de téléchargement en utilisant Java dans le projet webapplication – user441392