Google Code предлагается на следующих языках: English – Español – 日本語 – 한국어 – Português – Pусский – 中文(简体) – 中文(繁體)
SDK Java App Engine содержит команду для взаимодействия с App Engine. Эту команду можно использовать для добавления в App Engine новых версий кода, конфигурации и статических файлов для приложения. Кроме того, ею можно воспользоваться для управления индексами хранилища данных и загрузки данных журналов.
При использовании Eclipse и плагина Google можно добавлять приложения напрямую из Eclipse. Чтобы добавить приложение, в панели инструментов нажмите кнопку развертывания на App Engine:
Дополнительная информация представлена в статье Плагин Google для Eclipse.
Помимо этого, можно добавить приложение из командной строки. Чтобы использовать другие функции команды, такие как загрузка журналов, нужно выполнить ее из командной строки. Команда, которую нужно выполнить, находится в каталоге SDK appengine-java-sdk/bin/.
В Windows нужно использовать следующую команду:
appengine-java-sdk\bin\appcfg.cmd [options] <action> <war-location>
В Mac OS X или Linux нужно использовать следующую команду:
./appengine-java-sdk/bin/appcfg.sh [options] <action> <war-location>
В качестве аргументов команда получает действие, которое нужно выполнить, и местоположение категории WAR приложения.
Чтобы добавить приложение, используйте действие update следующим образом:
./appengine-java-sdk/bin/appcfg.sh update myapp/war
Эти команды представляют собой скрипты оболочки для ОС, которые выполняют класс Java com.google.appengine.tools.admin.AppCfg из appengine-java-sdk/lib/appengine-tools-api.jar.
При добавлении приложения с помощью действия update обновление содержит конфигурацию индекса приложения (файлы datastore-indexes.xml и generated/datastore-indexes-auto.xml). Если в конфигурации определен индекс, не существующий в App Engine, App Engine создает новый индекс. Создание индекса займет какое-то время, которое зависит от объема данных в хранилище, подлежащих индексированию. Если приложение выполняет запрос, для которого требуется несуществующий индекс, вызывается исключение.
Чтобы избежать этого, нужно удостовериться, что новая версия приложения, для которой требуется индекс, не является рабочей до окончания создания индекса. Это можно сделать, например, добавляя к приложению новый номер версии в файле appengine-web.xml при каждом добавлении или изменении индекса в конфигурации. При этом приложение добавляется в качестве новой версии и автоматически не становится версией, используемой по умолчанию. После создания индекса измените версию по умолчанию на новую в разделе "Версии" Консоли администрирования.
Удостовериться, что к моменту запуска приложения в работу новые индексы уже созданы, можно и добавив отдельно конфигурацию индекса перед добавлением приложения. Чтобы добавить для приложения только конфигурацию индекса, используйте действие update_indexes:
./appengine-java-sdk/bin/appcfg.sh update_indexes myapp/war
Можно проверить статус индексов приложения в разделе "Индексы" Консоли администрирования.
App Engine поддерживает запланированные задачи (известные как задачи Cron). Укажите их в файле cron.xml и добавьте с помощью команды update_cron:
./appengine-java-sdk/bin/appcfg.sh update_cron myapp/war
Команда appcfg update также добавит спецификации задач Cron, если файл существует. Подробнее о задачах Cron рассказано в документации по задачам Cron.
App Engine поддерживает журнал сообщений приложения. Кроме того, App Engine записывает в журнал все запросы. Просмотреть журналы приложения можно в разделе "Журналы" Консоли администрирования.
Чтобы более подробно проанализировать журналы приложения, их данные можно загрузить в файл на своем компьютере. Чтобы загрузить журналы в файл mylogs.txt, используйте действие request_logs следующим образом:
./appengine-java-sdk/bin/appcfg.sh request_logs myapp/war mylogs.txt
По умолчанию команда загружает сообщения журнала за текущий календарный день (с 11:00), начиная с уровня "Информация" (при этом исключаются сообщения уровня "Отладка"). Команда перезаписывает локальный файл журнала. С помощью параметров командной строки можно изменить количество дней, минимальный уровень серьезности сообщений и способ их добавления – перезапись имеющихся или добавление в конец локального файла журнала. Эти параметры рассмотрены далее.
Команда AppCfg принимает несколько параметров, действие и его аргументы.
Доступны следующие действия:
appcfg.sh [options] update <war-location>Загрузка файлов приложения в указанном корневом каталоге приложения. Идентификатор приложения и версия берутся из файла appengine-web.xml.
appcfg.sh [options] rollback <war-location>Отмена частично завершенного обновления указанного приложения. Это действие можно использовать, если обновление было прервано и команда сообщает, что приложение невозможно обновить из-за блокировки.
appcfg.sh [options] update_indexes <war-location>Обновление индексов хранилища данных App Engine путем добавления новых индексов. Если для новой версии приложения требуется определение дополнительного индекса, добавленное в конфигурацию, в App Engine можно обновить определения индексов до добавления новой версии приложения. Выполнение этого действия за несколько часов до добавления новой версии приложения позволит создать индексы, которые будут работать с момента развертывания приложения.
appcfg.sh [options] request_logs <war-location> <output-file>Получите данные журнала для приложения, которое выполняется на App Engine. output-file представляет собой название файла, который нужно создать или заменить. Если output-file является дефисом (-), данные журнала выводятся на консоль. Следующие параметры применяются к request_logs:
--num_days=...Количество дней, за которые нужно получить данные журнала, заканчивая текущей датой в полночь по UTC. Чтобы получить все журналы, надо указать значение 0. При указании --append значение по умолчанию равно 0, в противном случае – 1.
--severity=...Минимальный уровень сообщений из журнала, которые нужно получить. Значение является числом, соответствующим уровню сообщений из журнала: 4 для CRITICAL, 3 для ERROR, 2 для WARNING, 1 для INFO и 0 для DEBUG. Будут получены все сообщения соответствующего уровня и уровней выше. Значение по умолчанию равно 1 (INFO).
appcfg.sh [options] help <war-location>Отображение справочного сообщения об указанном действии и завершение работы.
Команда AppCfg принимает следующие параметры для всех действий:
--email=...Адрес электронной почты аккаунта Google администратора приложения для действий, требующих входа. Если он не указан, а файл cookie не был сохранен при предыдущем использовании команды, появится запрос этого значения.
--server=...Имя узла сервера App Engine. По умолчанию – appengine.google.com.
--host=...Имя узла локального компьютера, используемое при вызовах удаленных процедур.
--sdk_root=...Путь к SDK Java App Engine, если он не совпадает с местоположением инструмента.
--passinНе сохранять учетные данные администратора в виде файла cookie, а каждый раз спрашивать пароль.