Развертывание приложения 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 или моими настройками ноутбука? Я пробовал все, что там, в stackoverflow, поэтому любые новые предложения будут очень благодарны!!

Ответ 1

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

Ответ 2

Хорошо есть более простой способ сделать это сейчас.

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

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

Вот оно!!!

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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

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