• Официальный сайт SDK
  • Сайт с примерами кода

Публикация приложения

Среда разработки App Engine SDK включает в себя команду для произведения загрузки (публикации) файлов приложения на сервер. Также как и само SDK, программа appcfg.py требует для своей работы интерпретатор языка Python версии 2.5.

Для загрузки файлов приложения на сервер, запустите программу appcfg.py с указанием операции update и именем корневого каталога приложения. Этот каталог должен содержать конфигурационный файл приложения app.yaml.

CmFwcGNmZy5weSB1cGRhdGUgbXlhcHAvCg===

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

Чтобы указывать меньше информации при каждом обновлении приложения, можно задать адрес электронной почты в командной строке с параметром --email. Однако, вы не можете таким же образом задать пароль в параметрах командной строки.

CmFwcGNmZy5weSAtLWVtYWlsPUFsYmVydC5Kb2huc29uQGV4YW1wbGUuY29tIHVwZGF0ZSBteWFwcC8K=

Параметры для appcfg.py

Программа appcfg.py может принимать набор параметров, заданную операцию выполнения и ее аргументы.

Доступны следующие операции:

appcfg.py [параметры] update <каталог-приложения>

Производит публикацию файлов приложения, заданного с помощью указания его корневого каталога. Идентификатор приложения и его версия извлекаются из конфигурационного файла app.yaml корневого каталога приложения.

appcfg.py [параметры] rollback <каталог-приложения>

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

appcfg.py [параметры] vacuum_indexes <каталог-приложения>

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

appcfg.py [параметры] request_logs <каталог-приложения> <файл-вывода>

Выполняет загрузку журнала событий приложения, запущенного на платфорфме App Engine. Параметр файл-вывода должен быть именем файла, который будет создан, заменен или дополнен (в случае указания флага --append) информацией. Если значением параметра файл-вывода является дефис (-), то журнал событий будет выведен на экран консоли. К операции request_logs применимы следующие опции:

--num_days=...

Задает период как количество дней, за который необходимо загрузить данные, считая от текущей полуночи во временной зоне UTC. Указание значения 0 выполняет загрузку всех доступных данных. Если задана опция --append, то значение по умолчанию 0, во всех прочих случаях - 1.

--severity=...

Задает минимальный уровень событий, подлежащих загрузке. Значение должно быть числом, соответствующим уровню сообщения: 4 для CRITICAL, 3 для ERROR, 2 для WARNING, 1 для INFO, 0 для DEBUG. Все сообщения заданного уровня и выше будут загружены. По умолчанию - 1 (INFO).

--append

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

По умолчанию программа выполняет перезапись данных файла. Опция не применима, если параметр файл-вывода является - (вывод в консоль).

appcfg.py help <операция>

Выводит справочное сообщение о заданной операции и завершает выполнение.

Программа appcfg.py принимает следующие параметры для всех своих операций:

--quiet

При успешном выполнении не выводить никаких сообщений на экран.

--verbose

Выводить подробные сообщения о работе программы.

--noisy

Еще больше увеличить детализацию сообщений о работе программы. В основном используется для отправки сообщений об ошибках команде разработчиков App Engine.

--email=...

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

--server=...

Имя сервера платформы App Engine. По умолчанию: appengine.google.com.

--host=...

Имя локального компьютера, использующееся для удаленного вызова процедур.

--no_cookies

Указание на то, что не нужно сохранять токен авторизации между сессиями работы программы, что приведет к постоянному запросу пароля.

--force

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

--max_size=...

Указывает максимальный размер файлов в байтах для загрузки на сервер. Загрузка файлов, имеющих размер больше заданного, не будет производиться. По умолчанию это значение 1048576. Так как на текущий момент сервер обеспечивает максимальный размер файла 1048576 байт, увеличение значения этого параметра не окажет никакого эффекта.

appcfg.py и HTTP прокси

Если вы подключаетесь к сети Интернет через проки-сервер, то для корректной работы программы appcfg.py необходимо указать его имя. Для этого задайте переменной окружения http_proxy имя вашего прокси-сервера перед запуском программы appcfg.py. Пример для командного процессора bash:

CmV4cG9ydCBodHRwX3Byb3h5PSZxdW90O2h0dHA6Ly9jYWNoZS5teWNvbXBhbnkuY29tOjMxMjgmcXVvdDsKYXBwY2ZnLnB5IHVwZGF0ZSBteWFwcAo==