Google App Engine позволяет создавать и запускать собственные приложения на серверах Google. Приложения App Engine легко создавать, поддерживать и масштабировать по мере изменения ваших потребностей в трафике и хранении данных. Вы просто загружаете исходный код своего приложения, и оно готово к работе. Если вы новичок в разработке для App Engine, обязательно ознакомьтесь с руководством по быстрому старту для App Engine на Python или Node.js , прежде чем продолжить.
Earth Engine и App Engine можно использовать вместе для создания масштабируемых геопространственных приложений. Как правило, ваш код App Engine включает клиентскую библиотеку Earth Engine на Python и отправляет запросы к бэкэнду Earth Engine, используя учетную запись службы . Это выгодно, поскольку позволяет любому пользователю использовать ваше приложение без входа в систему или регистрации в качестве пользователя Earth Engine. Обратите внимание, что к каждой учетной записи службы применяются стандартные ограничения на использование Earth Engine.
Другой подход к разработке — использование аутентификации на стороне клиента вместо учетной записи службы. При таком подходе посетители вашего приложения должны быть зарегистрированы в Earth Engine и авторизованы. Преимущество этого подхода заключается в том, что запросы к Earth Engine отправляются с использованием учетных данных конечного пользователя, поэтому вероятность превышения лимитов использования снижается. Проблема в том, что ваши пользователи должны зарегистрироваться в Earth Engine и авторизоваться, прежде чем использовать приложение.
В каталоге Earth Engine App Engine demos на GitHub содержится набор полезных примеров App Engine. Краткое описание каждого примера см. на странице Example Apps . В этом документе приведены инструкции по настройке и развертыванию примеров или созданных вами пользовательских приложений.
Развертывание приложений App Engine с помощью Earth Engine
Следующие инструкции объясняют, как развернуть демонстрационные приложения . Инструкции на Python предназначены для Mac OS и Linux. Если вы используете Python в Windows, попробуйте это .
Включите API Earth Engine в своем проекте Google Cloud.
Создайте или выберите проект Google Cloud и включите API Earth Engine в соответствии с этими инструкциями .
Настройка учетных данных
Служебный аккаунт
Для авторизации запросов к Earth Engine от имени пользователя вашего приложения можно использовать учетную запись службы . Файл config.py содержит код аутентификации, использующий адрес электронной почты учетной записи службы, и файл закрытого ключа. Чтобы настроить аутентификацию с помощью учетной записи службы, выполните следующие действия для создания учетной записи службы и файла закрытого ключа. Назовите файл ключа .private-key.json и переместите его в каталог вашего проекта.
Python
Если вы еще этого не сделали, сначала настройте Python API для Earth Engine . Протестируйте учетную запись службы в соответствии с этими инструкциями .
Если тест пройден успешно, обновите config.py (или аналогичный файл в исходном коде), указав адрес электронной почты вашей учетной записи службы. (Путь к файлу ключа не должен меняться, поскольку он находится в каталоге вашего проекта).
Node.js
Установите зависимости проекта, выполнив команду npm install . API Node.js для Earth Engine и любые другие зависимости будут скопированы в папку ./node_modules в каталоге вашего проекта. Если установка не удалась, убедитесь, что установлена последняя версия Node.js. Аутентифицируйте и инициализируйте библиотеку, заменив my-project на идентификатор вашего проекта Google Cloud:
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize(null, null, null, null, null, 'my-project');
Идентификатор клиента OAuth 2.0
Если вы хотите, чтобы пользователи проходили аутентификацию самостоятельно (а не с помощью учетной записи службы), вам необходимо настроить идентификатор клиента OAuth в вашем облачном проекте. Для этого:
- Создайте идентификатор клиента в соответствии с этими инструкциями .
- Обновите файл
static/script.js(или аналогичный файл в исходном коде), чтобы использовать свой идентификатор клиента. - Убедитесь, что
ee_api_js.jsнаходится в каталоге/static/(или аналогичном). Вы можете загрузить его напрямую с GitHub , установить через npm или, если вы уже клонировали весь репозиторий EE API, скопируйте его изearthengine-api/javascript/buildв локальную файловую систему.
Настройте локальную среду разработки.
Python
Следуйте инструкциям в каждой директории с примерами на GitHub, чтобы загрузить и собрать проект. Если есть файл build.sh , запустите его из корневой папки вашего приложения с помощью команды:
./build.sh
Скрипт установки загрузит зависимости и установит инструменты командной строки Google, если они еще не установлены в вашей системе. Python API Earth Engine и его зависимости будут скопированы в папку ./lib в каталоге вашего проекта.
Убедитесь в доступности инструментов командной строки App Engine, выполнив следующую команду:
dev_appserver.py
Если команда не найдена, попробуйте вручную загрузить и установить Google App Engine SDK для Python . Если команда доступна, она должна завершиться ошибкой "error: too few arguments".
Node.js
Настройка не требуется.
Запустить локально
После регистрации вашей учетной записи службы для доступа к Earth Engine вы можете использовать ее для аутентификации (см. config.py ) при тестировании примеров. Попробуйте сначала протестировать примеры локально, перейдя в каталог вашего проекта и выполнив команду:
Python
dev_appserver.py .
Node.js
npm install npm start
Откройте в браузере адрес http://localhost:8080, чтобы увидеть приложение, работающее на локальном сервере. Все внесенные (и сохраненные) изменения будут автоматически применены при обновлении страницы.