Je souhaite créer une version client de l'application GAE qui stocke les données exactes de la version en ligne (myapp.appspot.com) Si je peux utiliser sdk à la place, y a-t-il une bibliothèque ou des outils pour synchroniser la version en ligne et sdk? J'essaye d'employer le chargeur en bloc mais je ne peux pas charger des données téléchargées au SDK local? S'il vous plaît aider.Comment créer une copie locale du magasin de données GAE?
Répondre
Voir the docs pour plus de détails sur la façon de télécharger et de télécharger la totalité de votre banque de données. Il suffit de télécharger en masse depuis la production, puis de télécharger en masse vers votre banque de données locale. Toutefois, gardez à l'esprit que la banque de données locale n'est pas conçue pour gérer de gros volumes de données. Vous pouvez rencontrer des problèmes de performances ou de mémoire.
Comme expliqué dans this article (lien mis à jour, grâce à Zied Hamdi)
Vous devez simplement activer la api à distance
builtins:
- remote_api: on
Mettez à jour votre application, puis exécutez les commandes suivantes:
appcfg.py download_data -A s~YOUR_APP_NAME --url=http://YOUR_APP_NAME.appspot.com/_ah/remote_api/ --filename=data.csv
appcfg.py --url=http://localhost:8080/_ah/remote_api/ --filename=data.csv upload_data .
Modifier pour après le 12 avril 2016 sur le dernier SDK AppEngine:
Ce qui précède fonctionne pour SDK version 1.9.0 et avant. Cependant, avec le depreciation of ClientLogin, ce qui précède provoquera une erreur de
03:13 PM Uploading data records.
[INFO ] Logging to bulkloader-log-20160909.151355
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
[INFO ] Opening database: bulkloader-progress-20160909.151355.sql3
2016-09-09 15:13:55,175 INFO client.py:578 Refreshing due to a 401 (attempt 1/2)
2016-09-09 15:13:55,176 INFO client.py:804 Refreshing access_token
2016-09-09 15:13:55,312 INFO client.py:578 Refreshing due to a 401 (attempt 2/2)
Recommended by Anssi here, nous pouvons utiliser le serveur API directement sans courir dans cette erreur. Pour une start-up de dev_appserver typique, vous obtenez la sortie suivante
INFO 2016-09-09 19:27:11,662 sdk_update_checker.py:229] Checking for updates to the SDK.
INFO 2016-09-09 19:27:11,899 api_server.py:205] Starting API server at: http://localhost:52497
INFO 2016-09-09 19:27:11,905 dispatcher.py:197] Starting module "default" running at: http://localhost:8080
INFO 2016-09-09 19:27:11,918 admin_server.py:116] Starting admin server at: http://localhost:8000
au lieu de ce qui précède pour le téléchargement utilisez le port API, dans ce cas
appcfg.py --url=http://localhost:52497/_ah/remote_api/ --filename=data.csv upload_data .
Pour que cela fonctionne localement pour moi, je devais également ajouter l'option -A dev ~ YOUR_APP_NAME aux options upload_data. – ahanson
J'ai l'erreur suivante lors de l'étape upload_data: 'google.appengine.api.datastore_errors.BadRequestError: l'application "dev ~ my_app_name" ne peut pas accéder à l'application "my_app_name"' s data '. J'ai résolu cela en enlevant le '.' à la fin de la ligne. J'ai donc écrit: appcfg.py --url = http: // localhost: 8080/_ah/remote_api/--fichier = data.csv upload_data –
Est-ce seulement pour les applications python? – morpheus05
L'emplacement de l'article, il a changé, je l'ai trouvé ici: http://mbrochh.tumblr.com/post/6937702727/importing-google-app-engine-datastore-into-your-local
Le lien est cassé – jh314
ok, désolé je ne peux rien faire pour vous maintenant, je suis sur un stoday de technologie complètement différente –
- 1. Récupération d'une entité du magasin de données GAE par clé
- 2. Meilleure façon d'extraire les données du magasin de données GAE sous la forme d'une liste
- 3. Copie locale datable C#
- 4. copie locale de document.getElementsByTagName
- 5. GAE Modification des données dans votre magasin d'objets local
- 6. Effacement du magasin de données?
- 7. GAE téléchargement vers la base de données - ou - comment créer un grand dictionnaire dans GAE?
- 8. Créer une étiquette/branche à partir de la copie de travail locale en utilisant SVN
- 9. copie locale de cette page est obsolète
- 10. Données par défaut du stockage de base de données locale
- 11. Comment créer une checkbox locale par jquery?
- 12. Récupération de données hiérarchiques à partir du magasin de données
- 13. GAE - Comment puis-je modifier/mettre à jour le magasin de données en python
- 14. GraniteDS sur le magasin de données GAE JPA - Problème de classe de clé
- 15. Impossible de supprimer une copie locale de SVN
- 16. Récupérer une entité aléatoire à partir du magasin de données
- 17. Fichier XML avec copie locale du schéma XML
- 18. Copie locale de quickstarts bêta ASP.NET MVC?
- 19. date ajoutée en arrière-plan pendant l'ajout de temps dans le magasin de données GAE
- 20. Passage de validation à une copie locale d'un référentiel SVN
- 21. Cinq sites GAE différents peuvent-ils tous partager un magasin de données commun?
- 22. Tout didacticiel lisible, fonctionnant Flex + BlazeDS + Spring + GAE (stockant plus d'une table dans le magasin de données GAE)?
- 23. Comment puis-je m'assurer que l'appel ajax jQuery n'envoie pas une copie locale du fichier?
- 24. Créer une copie d'un objet de jeu
- 25. améliorer magasin de données temporaire
- 26. TFS 2010 modifier la copie locale
- 27. Comment créer une base de données JavaScript locale liée à une extension Safari-5?
- 28. Créer une copie d'une ligne de résultat
- 29. Comment obtenir Linq-to-SQL pour actualiser sa copie locale d'un enregistrement de base de données?
- 30. « Copie locale » pour les références site
Merci, Nick, où je peux obtenir plus de "comment" faire du téléchargement en masse sur le magasin de données local? Vraiment besoin de faire ce travail pour moi. –
Voir la section «chargement des données dans le serveur de développement» sur cette page. Vous spécifiez simplement un argument de ligne de commande supplémentaire. –
Quoi qu'il en soit, Nick .. J'ai installé 1.3.3 sdk et éprouver une erreur de chargement en vrac environ 6000 enregistrements, qui s'arrêtent sur l'enregistrement 145. Et exception jeter quand je veux utiliser la visionneuse de banque de données sur la console SDK locale. Qu'est-ce qui ne va pas? –