Развертывание приложения 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 * для разрешения ошибки разрешения.