Jak utworzyć lokalną kopię magazynu danych GAE?
Chcę zrobić wersję kliencką aplikacji GAE, która przechowuje dokładne dane wersji online. (myapp.appspot.com) jeśli Mogę zamiast tego użyć sdk, czy jakaś Biblioteka lub narzędzia do synchronizacji online i wersji sdk? Próbuję użyć bulkloader, ale nie mogę załadować pobranych danych do lokalnego SDK? Proszę o pomoc.
3 answers
Zobacz docs aby dowiedzieć się, jak pobrać i przesłać cały magazyn danych. Po prostu zbiorcze pobieranie z produkcji, a następnie zbiorcze przesyłanie do lokalnego magazynu danych.
Pamiętaj jednak, że lokalny magazyn danych nie jest zaprojektowany do obsługi dużych ilości danych - możesz napotkać problemy z wydajnością lub pamięcią.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-20 09:42:51
Jak wyjaśniono w Ten artykuł (link zaktualizowany, dzięki Zied Hamdi)
Po prostu musisz włączyć zdalne api
builtins:
- remote_api: on
Zaktualizuj swoją aplikację, a następnie uruchom następujące polecenia:
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 .
Edycja po 12 kwietnia 2016 na najnowszym AppEngine SDK:
Powyższe działa dla SDK w wersji 1.9.0 i wcześniej. Jednak z deprecjacja ClientLogin , powyższe spowoduje błąd
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)
Polecane przez Anssi tutaj, możemy Użyj serwera API bezpośrednio bez uruchamiania się tego błędu. Dla typowego uruchomienia dev_appserver otrzymujemy następujące wyjście
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
Zamiast powyższego do przesyłania użyj portu API, w tym przypadku
appcfg.py --url=http://localhost:52497/_ah/remote_api/ --filename=data.csv upload_data .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-10 00:28:05
Lokalizacja artykułu uległa zmianie, znalazłem go tutaj: http://mbrochh.tumblr.com/post/6937702727/importing-google-app-engine-datastore-into-your-local
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-24 08:22:18