Google App Engine Bulkloader «Ошибка аутентификации» - PullRequest
0 голосов
/ 18 июля 2011

Я пытаюсь использовать загрузчик для загрузки своих данных на сервер App-Engine. Я запускаю следующую команду, используя Python 2.5: -

appcfg.py upload_data --application=myappname --kind=mykind    
--filename=data_archive.csv --url=http://myappname.appspot.com/remote_api 

Но он не работает с этой ошибкой аутентификации: -

[INFO    ] Connecting to myappname.appspot.com/remote_api
[ERROR   ] Exception during authentication
URLError: <urlopen error [Errno 10061] No connection could 
be made because the target machine actively refused it>
[INFO    ] Authentication Failed

Моя идея состоит в том, чтобы выполнить массовую загрузку с моего сервера разработки, а затем использовать этот дамп для загрузки на сервер механизма приложений. Массовая загрузка работала нормально. Я использовал этот формат для этого: -

appcfg.py download_data --application=myappname --kind=mykind 
--url=http://localhost:8888/remote_api --filename=data_archive.csv

Но основная загрузка не удалась. Пара вещей: массовая загрузка попросила у меня идентификатор пользователя и пароль, но массовая загрузка - нет. Кроме того, в настоящее время у меня нет файла app.yaml, о котором я часто упоминал - нужен ли он мне для этого?

Заранее спасибо за любую помощь. M.

EDIT Для всех, кто боролся с этим, проблема заключалась в том, что он находился за прокси-сервером, но с тем, что было выше, была еще одна «ошибка». К идентификатору приложения должен быть добавлен бит "s ~".

appcfg.py upload_data --application=s~myappname --kind=mykind
--filename=data_archive.csv --url=http://myappname.appspot.com/remote_api 

Ответы [ 3 ]

0 голосов
/ 20 июля 2011

Это не проблема аутентификации - это сообщение - красная сельдь - ваша машина вообще не может связаться с приложением App Engine. У вас есть прокси-сервер, через который вам нужно пройти, чтобы установить внешние соединения?

0 голосов
/ 12 марта 2013

Вам не нужно --application = s ~ myappname при использовании массового загрузчика - Google упоминал ранее:

Внимание! Не используйте флаг --application = для получения идентификатора приложения. при использовании массового погрузчика. Вместо этого используйте --url =.

Для более подробной информации посмотрите здесь: https://developers.google.com/appengine/docs/python/tools/uploadingdata

0 голосов
/ 19 июля 2011

app.yaml - это то, как он находит ваш сервер. Я не уверен, как вы можете попробовать и загрузить без одного.

Помимо наличия файла app.yaml, указывающего на рабочий сервер, на рабочем сервере также должен быть включен remote_api (в его app.yaml и в версии, которую вы пытаетесь достичь):

builtins:
- remote_api: on
...