App Engine & Обзор земляного двигателя

Google App Engine позволяет создавать и запускать собственные приложения на серверах Google. Приложения App Engine легко создавать, поддерживать и масштабировать по мере изменения потребностей в трафике и хранилище данных. Вы просто загружаете исходный код своего приложения, и оно готово к работе. Если вы новичок в разработке для App Engine, прежде чем продолжить, обязательно ознакомьтесь с кратким руководством App Engine по Python или Node.js.

Earth Engine и App Engine можно использовать вместе для создания масштабируемых геопространственных приложений. Обычно код App Engine включает клиентскую библиотеку Python Earth Engine и отправляет запросы к серверной части Earth Engine с использованием учетной записи службы . Это выгодно, поскольку позволяет любому использовать ваше приложение, не входя в систему и не будучи зарегистрированным пользователем Earth Engine. Обратите внимание, что стандартные ограничения на использование Earth Engine применяются к каждой учетной записи службы.

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

Каталог демонстраций Earth Engine App Engine на GitHub содержит набор полезных примеров App Engine. См . страницу «Примеры приложений» для краткого описания каждого примера. В этом документе представлены инструкции по настройке и развертыванию примеров или пользовательских приложений, которые вы создаете.

Развертывание приложений App Engine с помощью Earth Engine

Следующие инструкции объясняют, как развернуть демонстрационные приложения . Инструкции Python предназначены для Mac OS и Linux. Если вы используете Python в Windows, попробуйте это .

Включите API Earth Engine в своем проекте Google Cloud.

Создайте или выберите проект Google Cloud и включите Earth Engine API согласно этим инструкциям .

Настройка учетных данных

Сервисный аккаунт

Учетная запись службы может использоваться для авторизации запросов к Earth Engine от имени любого, кто использует ваше приложение. Файл config.py содержит код аутентификации с использованием адреса электронной почты учетной записи службы и файл закрытого ключа. Чтобы настроить аутентификацию с помощью учетной записи службы, следуйте этим инструкциям , чтобы создать учетную запись службы и файл закрытого ключа. Назовите файл ключа .private-key.json и переместите его в каталог вашего проекта.

Питон

Если вы еще этого не сделали, сначала настройте API Python Earth Engine . Проверьте учетную запись службы согласно этим инструкциям .

Если тест пройден успешно, обновите config.py (или эквивалентный файл в исходном коде), указав адрес электронной почты своей учетной записи службы. (Путь к файлу ключа не должен меняться, поскольку он находится в каталоге вашего проекта).

Node.js

Установите зависимости проекта, запустив npm install . API Earth Engine Node.js и все другие зависимости будут скопированы в папку ./node_modules в каталоге вашего проекта. Если установка не удалась, убедитесь, что установлена ​​последняя версия Node.js.

const ee = require('@google/earthengine');
ee.data.authenticateViaPrivateKey('.private-key.json');
ee.initialize();

Идентификатор клиента OAuth 2.0

Если вы хотите, чтобы пользователи аутентифицировались как они сами (а не использовали учетную запись службы), вам необходимо настроить идентификатор клиента OAuth из вашего облачного проекта. Для этого:

  1. Настройте идентификатор клиента согласно этим инструкциям .
  2. Обновите static/script.js (или эквивалентный файл в исходном коде), чтобы использовать ваш идентификатор клиента.
  3. Убедитесь, что ee_api_js.js доступен в каталоге /static/ (или его эквиваленте). Вы можете скачать его прямо с GitHub , установить с npm или, если вы уже клонировали весь репозиторий EE API, скопировать его из earthengine-api/javascript/build в свою локальную файловую систему.

Настройка локальной среды разработки

Питон

Следуйте инструкциям в каждом каталоге примеров на GitHub, чтобы загрузить и собрать проект. Если есть файл build.sh , запустите его из корневой папки приложения с помощью команды:

./build.sh

Сценарий установки загрузит зависимости и установит инструменты командной строки Google, если они еще не существуют в вашей системе. API Python Earth Engine и его зависимости будут скопированы в папку ./lib в каталоге вашего проекта.

Убедитесь, что инструменты командной строки App Engine доступны, выполнив:

dev_appserver.py

Если команда не найдена, попробуйте вручную загрузить и установить Google App Engine SDK для Python . Если команда доступна, она должна завершиться ошибкой «ошибка: слишком мало аргументов».

Node.js

Никакой настройки не требуется.

Запускать локально

После того как ваша учетная запись службы будет зарегистрирована для доступа к Earth Engine , вы сможете использовать ее для аутентификации (см. config.py ) при тестировании примеров. Попробуйте сначала протестировать примеры локально, зайдя в каталог вашего проекта и выполнив:

Питон
dev_appserver.py .
Node.js
npm install
npm start

Направьте свой браузер на http://localhost:8080, чтобы увидеть приложение, работающее на локальном сервере. Любые изменения, которые вы внесете (и сохраните), будут автоматически применены при обновлении страницы.