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

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 в вашем облачном проекте. Для этого:

  1. Создайте идентификатор клиента в соответствии с этими инструкциями .
  2. Обновите файл static/script.js (или аналогичный файл в исходном коде), чтобы использовать свой идентификатор клиента.
  3. Убедитесь, что 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, чтобы увидеть приложение, работающее на локальном сервере. Все внесенные (и сохраненные) изменения будут автоматически применены при обновлении страницы.