#google-app-engine #google-cloud-datastore
#google-app-engine #google-облачное хранилище данных
Вопрос:
http://code.google.com/appengine/docs/python/tools/uploadingdata.html
Здесь объясняется, как загрузить данные из приложения gAE,
Первое, что нужно сделать, это настроить remote_api. Средство массовой загрузки взаимодействует с вашим приложением, запущенным в App Engine, с помощью remote_api, обработчика запросов, входящего в состав среды выполнения App Engine, которая позволяет удаленным приложениям с соответствующими учетными данными получать удаленный доступ к хранилищу данных. Существует два способа установки remote_api: автоматически с помощью встроенной директивы или вручную с помощью директивы url.
Я включил это с помощью встроенной директивы: я соответствующим образом изменил app.yaml
builtins:
- remote_api: on
Учитывая, что эта директива находит файл «include.yaml» для remote_api и сопоставляет обработчик запроса с /_ah / remote_api. Только администраторы приложения могут получить доступ к этому URL.
но я никогда не сталкивался с include.yaml
после этого я попытался загрузить данные, используя приведенные там команды
appcfg.py download_data --application=<app-id> --url=http://<appname>.appspot.com/[remote_api_path] --filename=<data-filename>
я получаю сообщение об ошибке, в разрешении отказано, я в замешательстве. я также не могу использовать команду «create_bulkloader_config», получая ту же ошибку, я в замешательстве, спасибо
Комментарии:
1. используете ли вы свое приложение в пользовательском домене?
2. Необходимо включить полную командную строку, сообщения об ошибках и трассировки стека.
Ответ №1:
Используете ли вы open ID / федеративный логин для своего приложения? Удаленный API не работает с open ID, но здесь есть обходной путь:
http://blog.notdot.net/2010/06/Using-remote-api-with-OpenID-authentication
Комментарии:
1. спасибо за ответ, нет, я использую логин Google.. в документации есть другая процедура, например, создание классов-экспортеров и так далее, я попробую это. но я не понимаю, почему эти простые команды не работают у меня
2. вы хотите сказать, что мы не сможем использовать удаленный api, если я не внедрил службу пользователей?
3. извините за поздний ответ, я пошел спать после долгой ночи
4. я хочу внести ясность, ранее я написал приложение, которое использует аутентификацию Google.. используется хранилище данных master / slave. после этого я изменил app.yaml, чтобы включить remote_api, и обновил его, используя свои учетные данные для входа. после этого я попытался загрузить данные с помощью этой простой команды и получаю сообщение об ошибке «Ввод-вывод: ошибка [ошибка № 13] отказано в разрешении: ‘c://programfiles/gae/bulkloader-log-20110513.175624 «. я что-то упускаю? я новичок, поэтому, пожалуйста, помогите мне
5. успешно сделал это, повозившись с ним 3 часа 🙂 ник, с этого момента я слежу за твоим блогом
Ответ №2:
Заменить
builtins:
- remote_api: on
С помощью
- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
login: admin
Ответ №3:
Вы должны запустить командную строку от имени администратора. Ошибка «отказано в разрешении», которую вы получаете, относится к тому, что скрипт appcfg не может получить доступ к локальному файлу.