«Как направить мой локальный dev_appserver на неэмулируемую корзину в Google»: это не так четко задокументировано, но реализовано в файлах dev_appserver
и cloudstorage
.
Чтобы убедиться в том, что я говорю, сначала svn checkout http://appengine-gcs-client.googlecode.com/svn/trunk/python gcs-client
загрузите исходный код cloudstore на свой компьютер (вам нужно будет установить subversion
, если у вас его еще нет, но это тоже бесплатно :-).
Затем cd gcs-client/src/cloudstorage/
и посмотрите на storage_api.py
. В самой первой функции _get_storage_api
строка документации говорит:
On dev appserver, this instance by default will talk to a local stub
unless common.ACCESS_TOKEN is set. That token will be used to talk
to the real GCS.
Итак, посмотрите на common.py
, и снова в первой функции, set_access_token
, вы увидите:
Аргументы: access_token: вы можете получить его, запустив «gsutil -d ls» и скопировав строку после «Bearer».
Итак, вот и все — в каждой записи вашего приложения (лучше всего в appengine_config.py
в вашем корневом каталоге) импортируйте модуль common
cloudstorage
, затем **если и только если вы находитесь на dev_appserver[*] вызове
common.set_access_token('whatever_the_token')
используя в качестве строки аргумента ту, которую вы получите, запустив 'gsutil -d ls', сразу после Bearer
, т.е. среди многого другого, вы заметите что-то вроде (подделка и сокращение фактического значения...:-):
Bearer xy15.WKXJQEzXPQQy2dt7qK9\r\n
в этом случае вы будете звонить
common.set_access_token('xy15.WKXJQEzXPQQy2dt7qK9')
[*] много способов узнать, находитесь ли вы на dev_appserver
, например, см. GAE: код Python для проверки, нахожусь ли я на сервере dev_appserver или развернут в appspot .
person
Alex Martelli
schedule
25.02.2015
rsync
,gsutil rsync -d /localdirgs://mybucket/data
. - person Alex Martelli   schedule 25.02.2015dev_appserver
**.py** можно указать, какие каталоги использовать для локальных файлов, с помощью флагов командной строки, но, опять же, я недостаточно знаю Java, чтобы помочь. - person Alex Martelli   schedule 25.02.2015