Развертывание приложения Google App Engine

Я пытаюсь развернуть базовое приложение HelloWorld в Google Engine, следуя их руководству по Python. Я создал файл helloworld.py и файл app.yaml и скопировал код из их онлайн-учебника. Я зарегистрировался в Google App Engine и перепробовал все, но постоянно получаю следующую ошибку:

2015-08-19 19:22:08,006 ERROR appcfg.py:2438 An error occurred processing file '': 
HTTP Error 403: Forbidden Unexpected HTTP status 403. Aborting. 
Error 403: --- begin server output ---
You do not have permission to modify this app (app_id=u'helloworld').
--- end server output ---
If deploy fails you might need to 'rollback' manually.
The "Make Symlinks..." menu option can help with command-line work.
*** appcfg.py has finished with exit code 1 ***

Вот код из helloworld.py:

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, Udacity!')

app = webapp2.WSGIApplication([
   ('/', MainPage),
   ], debug=True)

А вот мой код из файла app.yaml:

application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: helloworld.app

Есть ли проблема с разрешениями, например, в настройках Google App или моего ноутбука? Я перепробовал все, что есть на stackru, поэтому любые новые предложения будут высоко оценены!

5 ответов

В моем случае я получил отказ, потому что appcfg сохранил мой токен ouauth2 в файле ~/.appcfg_oauth2_tokens, который случайно оказался еще одним аккаунтом appengine . Просто удалите файл и попробуйте снова. Он должен работать. Это в Mac, я не уверен насчет окон, хотя.

Хорошо, есть НАМНОГО более простой способ сделать это сейчас.

Если вы получаете сообщение "У вас нет прав на изменение этого приложения", но ваш идентификатор в приложении верен.YAML выполните следующие действия:

Откройте панель запуска Google App Engine на рабочем столе. Нажмите на вкладку управления в верхнем левом углу -> "Очистить учетные данные развертывания".

Это оно!!!

Название приложения в app.yaml вроде как доменное имя. Как только кто-то зарезервировал его, никто больше не может его использовать. Вам нужно перейти сюда, а затем выбрать "Создать проект..." в раскрывающемся списке в верхней части экрана. Во всплывающем окне будет предложен идентификатор проекта или вы можете выбрать свой собственный. Многие идентификаторы проекта взяты, поэтому вам нужно указать что-то необычное, чтобы получить что-то, что не берется.

Затем вы помещаете этот идентификатор проекта в свой app.yaml в строке приложения. После этого вы сможете загрузить свой проект.

Убедитесь, что вы создали проект в GAE, идентификатор проекта которого точно соответствует вашей конфигурации в app.yaml

рабочий процесс:

  1. Создайте проект в GAE и установите имя
  2. В этом же окне вы можете редактировать идентификатор проекта
  3. скопируйте идентификатор проекта и вставьте его при создании нового приложения в программе запуска GAE (или отредактируйте ваш app.yaml, чтобы установить значение приложения)
  4. разверните его и введите {project-id}.appspot.com в своем браузере \ Удачи!

Идентификатор приложения ( 'application:') в app.yaml упоминается как 'helloworld', который, по-видимому, используется по умолчанию для приложения hello world. Создайте новое приложение, используя: https://console.cloud.google.com/home/dashboard и используйте новый идентификатор приложения в app.yaml.

Пожалуйста, посмотрите на: Приложение для gae не развертывается, у которого есть ответ на аналогичный вопрос для платформы Linux, где нам нужно удалить: ~/.appcfg_oauth2_tokens*, чтобы устранить ошибку разрешения.

Другие вопросы по тегам