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, כדאי לנסות את זה.
הפעלת Earth Engine API בפרויקט ב-Google Cloud
יוצרים או בוחרים פרויקט ב-Google Cloud ומפעילים את Earth Engine API לפי ההוראות האלה.
הגדרת פרטי כניסה
חשבון שירות
אפשר להשתמש בחשבון שירות כדי להעניק הרשאה לבקשות ל-Earth Engine בשם מי שמשתמש באפליקציה. הקובץ config.py
מכיל קוד אימות באמצעות כתובת האימייל של חשבון השירות וקובץ מפתח פרטי. כדי להגדיר אימות באמצעות חשבון שירות, פועלים לפי ההוראות האלה כדי ליצור את חשבון השירות ואת קובץ המפתח הפרטי. נותנים שם לקובץ המפתח .private-key.json
ומעבירים אותו לספריית הפרויקט.
Python
אם עדיין לא עשיתם זאת, עליכם להגדיר את Earth Engine Python API. בודקים את חשבון השירות לפי ההוראות האלה.
אם הבדיקה תצליח, מעדכנים את הקובץ config.py
(או קובץ מקביל בקוד המקור) בכתובת האימייל של חשבון השירות. (הנתיב לקובץ המפתח לא אמור להשתנות כי הוא נמצא בספריית הפרויקט).
Node.js
מתקינים את יחסי התלות של הפרויקט על ידי הפעלת npm install
. ממשק ה-API של Node.js ב-Earth Engine וכל יחסי התלות האחרים יועתקו לתיקייה ./node_modules
בספריית הפרויקט. אם ההתקנה נכשלת, בודקים שהגרסה של Node.js מותקנת.
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize();
מזהה לקוח ב-OAuth 2.0
אם רוצים שהמשתמשים יאומתו בתור עצמם (במקום להשתמש בחשבון שירות), צריך להגדיר מזהה לקוח OAuth מהפרויקט ב-Cloud. כדי לעשות זאת:
- מגדירים מזהה לקוח לפי ההוראות האלה.
- מעדכנים את הקובץ
static/script.js
(או קובץ מקביל בקוד המקור) כך שישתמש במזהה הלקוח. - מוודאים ש-
ee_api_js.js
זמין בספרייה/static/
(או בספרייה מקבילה). אפשר להוריד אותו ישירות מ-GitHub, להתקין אותו מ-npm, או, אם כבר יצרתם עותקים מקודמים (clone) של כל המאגר של EE API, להעתיק אותו מ-earthengine-api/javascript/build
במערכת הקבצים המקומית.
הגדרת סביבת הפיתוח המקומית
Python
פועלים לפי ההוראות בכל ספריית דוגמאות ב-GitHub כדי להוריד ולבנות את הפרויקט. אם יש קובץ build.sh
, מריצים אותו מתיקיית השורש של האפליקציה באמצעות הפקודה:
./build.sh
סקריפט ההגדרה יוריד את יחסי התלות ויתקין את הכלים של שורת הפקודה של Google, אם הם עדיין לא קיימים במערכת. Earth Engine Python API ותלותיו יועתקו לתיקייה ./lib
בתיקיית הפרויקט.
מריצים את הפקודה הבאה כדי לוודא שכלי שורת הפקודה של App Engine זמינים:
dev_appserver.py
אם הפקודה לא נמצאת, אפשר לנסות להוריד ולהתקין באופן ידני את Google App Engine SDK for Python. אם הפקודה זמינה, היא אמורה להיכשל עם הודעת השגיאה "error: too few arguments".
Node.js
אין צורך בהגדרה.
הפעלה באופן מקומי
אחרי שתירשמו את חשבון השירות לקבלת גישה ל-Earth Engine, תוכלו להשתמש בו כדי לבצע אימות (ראו config.py
) כשתרצו לבדוק את הדוגמאות. קודם כדאי לנסות לבדוק את הדוגמאות באופן מקומי. לשם כך, עוברים לספריית הפרויקט ומריצים את הפקודה:
Python
dev_appserver.py .
Node.js
npm install npm start
מציבים את הדפדפן בכתובת http://localhost:8080 כדי לראות את האפליקציה פועלת בשרת המקומי. כל שינוי שתבצעו (ותשמרו) יתעדכן באופן אוטומטי כשתרעננו את הדף.