Избранное | Русский | Войти

Hello, World!

Приложения App Engine, написанные на Python, взаимодействуют с веб-сервером, используя стандарт CGI. Когда сервер получает запрос для приложения, он запускает приложение с данными запроса в переменных среды и на стандартном входном потоке (для данных POST). Чтобы ответить, приложение записывает ответ в стандартный выходной поток, включая HTTP-заголовки и содержание.

Начнем с реализации скромного приложения, отображающего короткое сообщение.

Создание простого обработчика запросов

Создайте каталог под названием helloworld. Все файлы для этого приложения находятся в этом каталоге.

В каталоге helloworld создайте файл helloworld.py следующего содержания:

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

Этот сценарий Python отвечает на запрос HTTP-заголовком, описывающим содержание, пустой строкой и сообщением Hello, world!.

Создание файла конфигурации

У приложения App Engine есть файл конфигурации app.yaml. Помимо прочего, этот файл описывает, какие сценарии обработчиков для каких URL нужно использовать.

В каталоге helloworld создайте файл app.yaml следующего содержания:

application: helloworld
version: 1
runtime: python
api_version: 1

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

Этот файл конфигурации сообщает о приложении следующее (сверху вниз):

  • Идентификатор приложения – helloworld. При регистрации приложения в App Engine на последнем этапе вы выберете уникальный идентификатор и замените это значение. При разработке это значение может быть любым. Пока что оставьте значение helloworld.
  • Для данного приложения это версия кода номер 1. Если изменить код перед загрузкой новой версии приложения, App Engine сохранит предыдущие версии и позволит выполнять откат к этим версиям с помощью консоли администрирования.
  • Этот код выполняется в среде выполнения python версии "1". Возможно, впоследствии будут поддерживаться дополнительные языки и среды выполнения.
  • Все запросы к URL, пути которых соответствуют регулярному выражению /.* (все URL), должны обрабатываться сценарием helloworld.py.

Синтаксис этого файла – YAML. Полный список параметров конфигурации приведен в справочном руководстве app.yaml.

Тестирование приложения

При наличии сценария обработчика и файла конфигурации, сопоставляющего все URL с обработчиком, приложение готово. Теперь можно протестировать его с помощью веб-сервера, включенного в SDK App Engine.

Запустите веб-сервер с помощью следующей команды, указав путь к каталогу helloworld:

google_appengine/dev_appserver.py helloworld/

Теперь веб-сервер работает и принимает запросы через порт 8080. Протестируйте приложение, открыв следующий URL в браузере:

Чтобы узнать подробнее о работе веб-сервера для разработки, в том числе о том, как изменить используемый им порт, обратитесь к Справочному руководству веб-сервера для разработки или выполните команду с параметром --help.

Поэтапная разработка

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

Попробуйте оставить веб-сервер включенным и измените helloworld.py, чтобы вместо Hello, world! отображалось что-нибудь другое. Перезагрузите http://localhost:8080/ и посмотрите на изменения.

Чтобы остановить работу веб-сервера, в окне терминала нажмите Control-C (или соответствующую клавишу "остановки" в вашей консоли).

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

Далее...

Теперь у вас есть полноценное приложение App Engine! Вы можете развернуть это простое приветствие и поделиться им с пользователями всего мира. Прежде чем сделать это, рассмотрим возможность использования инфраструктуры веб-приложения для упрощения добавления функций.

Переходите к разделу Использование инфраструктуры webapp.