Какие учетные данные я должен вставить для Google App Engine BulkLoader в сервере разработки?

Быть автором ответа, который Вы выделяете в своем вопросе, и по общему признанию прибывающий к этому немного поздно, я должен был бы сказать, что среди многих причин, которые были перечислены, производительность профессионального разработчика является одними из самых высоко оцененных навыков.

производительностью, я имею в виду способность сделать Ваше задание эффективно с самыми лучшими результатами. IDE включают это на многих уровнях. Я не эксперт Emacs, но я сомневаюсь, что это испытывает недостаток в любой из функций главных IDE.

Дизайн, документация, отслеживание, разработка, здание, анализ, развертывание, и обслуживание, ключевые стартовые площадки в корпоративном приложении, может все быть сделан в IDE.

, Почему Вы не использовали бы что-то настолько мощное, если у Вас есть выбор?

Как эксперимент, посвятите себя, чтобы использовать IDE в течение, скажем, 30 дней и видеть, как Вы чувствуете. Я хотел бы считать Ваши мысли об опыте.

5
задан Hoang Pham 6 September 2009 в 10:31
поделиться

7 ответов

Я рекомендую вам следовать совету, данному здесь , и цитирую:

добавьте это в файл app.yaml:

 - url: / loadusers
 скрипт: myloader.py
 логин: админ

Обратите внимание: если вы запустите его на локальном машина разработки, комментарий от последняя строка логина: admin, чтобы вы не нужны учетные данные для запуска загрузчик .

(выделено мной).

4
ответ дан 18 December 2019 в 08:29
поделиться

Далее у меня работало:

  • удаление строки

     логин: admin
    

    из app.yaml

  • Обновление cofig приложения:

     appcfg.py update [app-id]
    
  • (Повторный) запуск локального сервера:

     сервер приложений [идентификатор приложения] 
    
  • Загрузить данные:

     appcfg.py upload_data --config_file = album_loader.py --filename album_data.csv --kind Album --url = http: // localhost: 8080 / remote_api ../[app-id ] 
    

    Спросите почту и пароль, введите что угодно

0
ответ дан 18 December 2019 в 08:29
поделиться

Редактировать: Посмотрите на мое новое решение

Эта проблема все еще существует. Я открыл билет , чтобы спросить, можно ли обойти аутентификацию на локальном сервере разработки. Проголосуйте за эту проблему, чтобы мы могли ее решить [быстро].

Мне удалось загрузить данные на сервер разработки:

  • оставив строку «login: admin» в app.yaml
  • добавление " --email=foobar@nowhere.com"в вашу команду
  • нажатие Enter при запросе пароля (ничего не требуется)

Оставление строки" login: admin "- это хорошо, поскольку вы не загрузите свое приложение на производственные серверы без этой строки, которая может показать вам, что кто-то добавляет данные в ваше хранилище данных ...

Цитата

3
ответ дан 18 December 2019 в 08:29
поделиться

Да, прокомментируйте требование администратора для remote_api:

.

[app.yaml]

- url: /remote_api
  script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
 # login: admin

Затем выполните эту команду:

$ bulkloader.py --dump --kind=DbMyKind --url=http://localhost:8080/remote_api --filename=export.csv --app_id=my_appid --auth_domain=localhost:8080

Примечание: проверьте, что --auth_domain передан, и что для localhost передан соответствующий порт.

.
2
ответ дан 18 December 2019 в 08:29
поделиться

Сначала необходимо создать учетную запись администратора на локальном сервере разработки.

С помощью firefox (или chrome safari и т.д.), откройте http://localhost:8178/remote_api, вам будет предложено войти в систему (без пароля), ввести email в качестве логина, и поставить галочку в поле логин в качестве администратора , логин. Это создаст для вас учетную запись локального администратора, используйте ее при локальной групповой загрузке.

Это применимо к другим учетным записям локального доступа, требуемого администратором.

Оставить (или прокомментировать) login:admin - это плохая практика, так как вы можете внедрить ее и в производство. Берегите себя!

1
ответ дан 18 December 2019 в 08:29
поделиться

EUREKA: я нашел способ использовать инструмент bulkloader.py без необходимости вводить учетные данные для входа в систему вручную.

Вот 2 шага:


Установите ваш app.yaml файл вверх. Пример:

- url: /remote_api
  script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
  login: admin

Вы должны поставить его ПЕРЕД своим - url: .* строку в app.yaml, в противном случае вы никогда не получите доступ к URL: /remote_api.

Обратите внимание, что я оставил часть login: admin, так как его удаление является ОЧЕНЬ БАДной практикой, так как вы можете развернуть его в производство....


2 Запустите эту команду (адаптируйте ее под свои нужды).

echo 'XX' | python2.5 ../google_appengine/bulkloader.py --dump --kind=NAMEOFMODEL --url=http://localhost:8080/remote_api --filename=FILENAME --app_id=APPID --email=foobar@nowhere.com --passin .

Хитрость в том, чтобы использовать комбинацию этих 2 параметров:

  • --email= (вы можете указать любой желаемый адрес электронной почты, я использую foobar@nowhere.com)
  • --passin

Указание --email= подавит приглашение "enter credentials", и --passin позволит прочитать пароль из stdin (здесь и вступает в игру - echo 'XX' |! )


Наслаждайтесь!

P.S.: Не забудьте проголосовать, чтобы Google предоставил более удобный способ сделать это: Выпуск 2440 .

6
ответ дан 18 December 2019 в 08:29
поделиться

Другое решение - отключить функцию аутентификации с помощью лямбды: http://www.carlosble.com/?p=603

0
ответ дан 18 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: