Google App Engine umożliwia tworzenie i uruchamianie własnych aplikacji niestandardowych na serwerach Google. Aplikacje App Engine można łatwo tworzyć, utrzymywać i skalować w miarę zmian w ruchu i potrzebach związanych z przechowywaniem danych. Wystarczy przesłać kod źródłowy aplikacji i można zacząć. Jeśli dopiero zaczynasz tworzyć aplikacje na App Engine, przed kontynuowaniem zapoznaj się z krótkim wprowadzeniem do App Engine w języku Python lub Node.js.
Earth Engine i App Engine można używać razem do tworzenia skalowalnych aplikacji geoprzestrzennych. Zazwyczaj kod App Engine zawiera bibliotekę klienta Earth Engine Python i wysyła żądania do backendu Earth Engine przy użyciu konta usługi. Jest to korzystne, ponieważ umożliwia korzystanie z aplikacji każdemu bez logowania się i bez rejestracji jako użytkownik Earth Engine. Pamiętaj, że standardowe limity wykorzystania Earth Engine obowiązują w przypadku każdego konta usługi.
Innym podejściem do tworzenia aplikacji jest użycie uwierzytelniania po stronie klienta zamiast konta usługi. W tym przypadku użytkownicy aplikacji muszą być zarejestrowani w Earth Engine i muszą się logować. Zaletą tego podejścia jest to, że żądania do Earth Engine są wysyłane przy użyciu danych logowania użytkownika, więc jest mniejsze prawdopodobieństwo przekroczenia limitów użycia. Problem polega na tym, że użytkownicy muszą zarejestrować się w Earth Engine i zalogować, zanim zaczną korzystać z aplikacji.
W katalogu z demonstracyjnymi aplikacjami Earth Engine App Engine w GitHubie znajdziesz zestaw przydatnych przykładów aplikacji App Engine. Krótki opis każdego przykładu znajdziesz na stronie z przykładowymi aplikacjami. W tym dokumencie znajdziesz instrukcje konfigurowania i wdrażania przykładów lub utworzonych przez siebie aplikacji niestandardowych.
Wdrażanie aplikacji App Engine za pomocą Earth Engine
Poniższe instrukcje wyjaśniają, jak wdrożyć aplikacje demonstracyjne. Instrukcje dotyczące Pythona są przeznaczone dla systemów Mac OS i Linux. Jeśli używasz języka Python w systemie Windows, wypróbuj to.
Włączanie Earth Engine API w projekcie w chmurze Google
Utwórz lub wybierz projekt Google Cloud i włącz interfejs Earth Engine API zgodnie z tymi instrukcjami.
Konfigurowanie danych logowania
Konto usługi
Konto usługi może służyć do autoryzowania żądań do Earth Engine w imieniu osoby korzystającej z Twojej aplikacji. Plik config.py zawiera kod uwierzytelniania, który korzysta z adresu e-mail konta usługi i pliku klucza prywatnego. Aby skonfigurować uwierzytelnianie za pomocą konta usługi, postępuj zgodnie z tymi instrukcjami, aby utworzyć konto usługi i plik klucza prywatnego. Nadaj plikowi klucza nazwę .private-key.json i przenieś go do katalogu projektu.
Python
Jeśli jeszcze tego nie zrobisz, najpierw skonfiguruj interfejs Earth Engine Python API. Przetestuj konto usługi zgodnie z tymi instrukcjami.
Jeśli test się powiedzie, zaktualizuj plik config.py (lub odpowiedni plik w kodzie źródłowym) o adres e-mail konta usługi. (Ścieżka do pliku klucza nie powinna się zmienić, ponieważ znajduje się on w katalogu projektu).
Node.js
Zainstaluj zależności projektu, uruchamiając npm install. Interfejs Earth Engine Node.js API i wszystkie inne zależności zostaną skopiowane do folderu ./node_modules w katalogu projektu. Jeśli instalacja się nie powiedzie, sprawdź, czy masz zainstalowaną najnowszą wersję Node.js. Uwierzytelnij i zainicjuj bibliotekę, zastępując symbol my-project identyfikatorem projektu Google Cloud:
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize(null, null, null, null, null, 'my-project');
Identyfikator klienta OAuth 2.0
Jeśli chcesz, aby użytkownicy uwierzytelniali się jako oni sami (zamiast używać konta usługi), musisz skonfigurować identyfikator klienta OAuth w projekcie w Google Cloud. W tym celu:
- Skonfiguruj identyfikator klienta zgodnie z tymi instrukcjami.
- Zaktualizuj plik
static/script.js(lub odpowiedni plik w kodzie źródłowym), aby używać identyfikatora klienta. - Upewnij się, że
ee_api_js.jsjest dostępny w katalogu/static/(lub w odpowiednim katalogu). Możesz pobrać go bezpośrednio z GitHub, zainstalować go z npm lub, jeśli masz już sklonowane całe repozytorium EE API, skopiować go zearthengine-api/javascript/buildw lokalnym systemie plików.
Konfigurowanie lokalnego środowiska programistycznego
Python
Postępuj zgodnie z instrukcjami w każdym przykładowym katalogu w GitHub, aby pobrać i skompilować projekt. Jeśli jest dostępny plik build.sh, uruchom go z folderu głównego aplikacji za pomocą polecenia:
./build.sh
Skrypt konfiguracyjny pobierze zależności i zainstaluje narzędzia wiersza poleceń Google, jeśli nie są jeszcze dostępne w systemie. Interfejs Earth Engine Python API i jego zależności zostaną skopiowane do folderu ./lib w katalogu projektu.
Sprawdź, czy narzędzia wiersza poleceń App Engine są dostępne. W tym celu uruchom to polecenie:
dev_appserver.py
Jeśli polecenie nie zostanie znalezione, spróbuj ręcznie pobrać i zainstalować pakiet Google App Engine SDK dla języka Python. Jeśli polecenie jest dostępne, powinno się zakończyć niepowodzeniem z komunikatem „error: too few arguments” (błąd: zbyt mało argumentów).
Node.js
Nie musisz nic konfigurować.
Uruchamianie lokalne
Gdy Twoje konto usługi zostanie zarejestrowane w celu uzyskania dostępu do Earth Engine, możesz go używać do uwierzytelniania (patrz config.py) podczas testowania przykładów. Najpierw przetestuj przykłady lokalnie. W tym celu przejdź do katalogu projektu i uruchom polecenie:
Python
dev_appserver.py .
Node.js
npm install npm start
Otwórz w przeglądarce adres http://localhost:8080, aby zobaczyć aplikację działającą na serwerze lokalnym. Wszelkie zmiany, które wprowadzisz i zapiszesz, zostaną automatycznie uwzględnione po odświeżeniu strony.