כדי לשלוח בקשות ל-Earth Engine באמצעות ספריית לקוח, צריך לעבור אימות ולהשתמש בפרטי הכניסה שמתקבלים כדי לאתחל את לקוח Earth Engine.
עורך הקוד של Earth Engine ו-JavaScript
האימות וההפעלה מתבצעים באופן אוטומטי בכלי לעריכת קוד. אפשר לבחור להפנות בקשות דרך פרויקט בענן מתוך ההתחברות בפינה השמאלית העליונה של עורך הקוד.
אם אתם משתמשים ב-JavaScript API (מחוץ לעורך הקוד), אתם צריכים להשתמש באחד מהעזרים לאימות ב-ee.data (לדוגמה, ee.data.authenticateViaPopup()) ואחריו ב-ee.initialize(), כמו שמוצג בדוגמה הזו.
Python ושורת הפקודה
לפני שמשתמשים בספריית הלקוח של Python ב-Earth Engine, צריך לבצע אימות (לאמת את הזהות) ולהשתמש בפרטי הכניסה שמתקבלים כדי להפעיל את לקוח Python. תהליכי האימות משתמשים בפרויקטים ב-Cloud לאימות, והם משמשים לשימוש לא מסחרי (חינמי) וגם לשימוש בתשלום. כדי לבצע אימות ואתחול, מריצים את הפקודה
ee.Authenticate()
ee.Initialize(project='my-project')
הפעולה הזו תבחר קודם את מצב האימות הכי טוב לסביבה שלכם, ותבקש מכם לאשר את הגישה לתסריטים. אם כבר קיימים פרטי כניסה, נעשה בהם שימוש חוזר באופן אוטומטי. כדי ליצור פרטי כניסה חדשים, מריצים את הפקודה ee.Authenticate(force=True).
בשלב האתחול מתבצע אימות של קיום פרטי כניסה תקינים, שנוצרו מ-ee.Authenticate() או שקיימים מראש כפרטי כניסה שמוגדרים כברירת מחדל ב-Google. לאחר מכן, היא מאתחלת את ספריית הלקוח של Python עם שיטות שנתמכות על ידי שרת הקצה העורפי. תצטרכו לספק פרויקט שאתם הבעלים שלו או שיש לכם הרשאות להשתמש בו. במאמר בנושא הגדרת פרויקט בענן מוסבר איך לרשום את הפרויקט ולהפעיל את Earth Engine API. הפרויקט הזה ישמש להרצת כל הפעולות ב-Earth Engine.
בשורת הפקודה, הקריאה המקבילה היא earthengine authenticate. אם פרטי הכניסה לא בתוקף או לא תקינים, יכול להיות שתצטרכו להריץ את הפקודה earthengine
authenticate --force. הפעלות משורת הפקודה יאותחלו בכל שיחה, ואפשר להשתמש בארגומנט --project כדי להגדיר את הפרויקט.
אפשר גם להגדיר פרויקט לכל השיחות העתידיות על ידי הפעלת הפקודה earthengine
set_project {my-project}. שורת הפקודה ו-ee.Initialize() ישתמשו בזה בכל פעם שלא מצוין פרויקט באופן ישיר. אם משתמשים באימות דרך gcloud (כפי שמוסבר בהמשך), הפרויקט שהוגדר על ידי gcloud auth application-default
set-quota-project {my-project} ישמש כמקרה סופי.
פרטי האימות
המטרה של תהליכי האימות ב-Earth Engine היא לקבל 'אסימון' אבטחה מהחשבון המחובר שלכם, שאפשר לשמור כדי לתת לסקריפטים הרשאה לגשת לנתונים שלכם. מטעמי אבטחה, מערכת האימות של Google תעביר את האסימונים האלה רק למערכות שאפשר לאבטח – ראו הערות טכניות בהמשך.
בגלל הרגישות לסוגי המערכות שמעורבות, יש דרכים שונות להמשיך בהתאם למצב הספציפי שלכם. רוב האפשרויות נשלטות על ידי הפרמטר auth_mode: או כ-ee.Authenticate(auth_mode=...), או כ-earthengine authenticate --auth_mode=... בשורת הפקודה.
שימו לב: אם פרטי הכניסה של Google כבר קיימים בסביבה שלכם, יכול להיות שלא תצטרכו להפעיל את ee.Authenticate() בכלל. מכונות וירטואליות ב-Google Cloud, App Engine וסביבות אחרות מספקות 'פרטי כניסה סביבתיים' שניתן להשתמש בהם, ו-gcloud auth
application-default login גם יוצר אותם.
עם זאת, מומלץ להשתמש ב-ee.Authenticate() בתחילת כל הסקריפטים כדי למקסם את התאימות. הוא מתוכנן לפעול ברוב המקרים ללא הפרמטר auth_mode, אבל אם מצב ברירת המחדל לא פועל, צריך לפעול לפי הפרטים שבהמשך.
מצב ברירת המחדל נבחר באופן הבא:
-
colabאם מריצים ב-notebook של Google Colab -
notebookאם מריצים בקובצי notebook אחרים של Jupyter שאינם Colab -
localhostאם מזוהה דפדפן אינטרנט ולא מותקן קובץ בינארי של gcloud gcloud, אחרת. כדי להשתמש במצב הזה, צריך להתקין את gcloud.
מדריך וטבלה להתמצאות מהירה
במדריך הזה מפורטות האפשרויות השונות אם מצב ברירת המחדל שנבחר על ידי ee.Authenticate() לא פועל. לדוגמה, אם אתם מפעילים את המחברת בסביבות אחרות של מחברות, יכול להיות שתצטרכו לציין את notebook באופן מפורש.
- סביבה מקומית.
- 'מקומי' אומר שאתם מריצים קוד במעטפת Python או ב-notebook של Python במחשב שלכם – או ליתר דיוק, באותו מחשב שבו פועל דפדפן האינטרנט שלכם. זה כולל מצבים של שולחן עבודה מרוחק שבהם גם Python וגם הדפדפן נמצאים באותה מכונה (מרוחקת).
- השימוש ב-
auth_mode=localhostהוא הכי קל, והוא ייבחר כברירת מחדל אם gcloud לא מותקן, אבל הסקריפט יעבוד רק בסביבות מקומיות. - אפשר להשתמש גם ב-
auth_mode=gcloudוגם ב-auth_mode=notebook.
- סביבה מרוחקת.
- "מרחוק" – הדפדפן נמצא במכונה אחת (מקומית), אבל הקוד פועל במקום אחר, למשל בתחנת עבודה מרוחקת או במחברת מבוססת-אינטרנט.
- אם אתם משתמשים ב-Colab, צריך להשתמש ב-
auth_mode=colab; או להשתמש ב-gcloudאם אתם צריכים להגדיר אתscopesכדי לקרוא לממשקי API אחרים. - אם אפשר להתקין את gcloud גם במכונה המרוחקת וגם במכונה המקומית, אפשר להשתמש בדגל
auth_mode=gcloud. - אם אתם יכולים להשתמש בפרויקט אימות (ראו בהמשך), השתמשו ב-
auth_mode=notebook. - אחרת, אם אין לכם אפשרות להשתמש בפרויקט, להתקין את gcloud, להשתמש ב-Colab או להשתמש בדפדפן באותה מכונה:
- צריך לפנות לאדמין (שוב) כדי ליצור פרויקטים. לדוגמה:
- מבקשים מהאדמין להגדיר פרויקט בשבילכם (כבעלים, כעורכים או כעורכים של הגדרות OAuth)
- אפשר גם לבקש מהאדמין להעניק לכם הרשאות ליצירת פרויקט.
בטבלה הזו אפשר לראות אילו שילובים של תכונות נתמכים בכל מצב.
| מקומי או מרוחק? | נדרש פרויקט | היקפי הרשאות שניתנים להגדרה | נדרש CLI מקומי | Project Owner | |
|---|---|---|---|---|---|
localhost |
local | Y | כן | לא | לא |
colab |
שלט רחוק | Y | לא | לא | לא |
gcloud |
שניהם | Y | כן | לא | לא |
notebook |
שניהם | Y | כן | לא | Y |
פרטי כניסה לחשבונות שירות ול-Compute Engine
ee.Initialize() ישתמש בפרטי הכניסה של Earth Engine (ש-ee.Authenticate() מאחסן ב-~/.config/earthengine/credentials) או יאחזר פרטי כניסה מ-google.auth.default(), אבל אם צריך אפשר להעביר ארגומנט credentials= כדי להשתמש בפרטי כניסה ממקום אחר, וכך לעקוף את ברירות המחדל האלה.
אם אתם מאמתים קוד Python שיופעל ללא השגחה, כדאי לבצע את האימות באמצעות חשבון שירות ולא באמצעות חשבון משתמש. במאמרים האלה מוסבר איך משתמשים בחשבונות שירות עם Earth Engine. שיטות אחרות כוללות את authenticate_service_account במודול האימות של Colab ואת השיטות שמתוארות במדריך של Cloud בנושא אימות כחשבון שירות.
אם הקוד פועל במכונה וירטואלית ב-Compute Engine, נוצר חשבון שירות שמוגדר כברירת מחדל עבור הסביבה, ו-ee.Initialize() ישתמש בו כברירת מחדל. יכול להיות שתצטרכו לרשום את חשבון השירות כדי להשתמש ב-Earth Engine אם פרויקט ה-Cloud שדרכו הופעלה המכונה הווירטואלית לא רשום לשימוש ב-Earth Engine (לשימוש מסחרי או לשימוש לא מסחרי).
פרטים על מצבים
auth_mode=colab. ee.Authenticate() ייצור או יקבל את פרטי ברירת המחדל שנתמכים על ידי Colab, על ידי הפעלת colab.auth.authenticate_user() אם יש צורך בכך. פרטי הכניסה תמיד משתמשים בהיקף cloud-platform, ואפשר להשתמש בהם גם כדי לקרוא ל-Cloud APIs אחרים.
auth_mode=gcloud. הפעולה הזו מעבירה את האימות לכלי gcloud, והיא זהה להרצת gcloud auth application-default login עם היקפי ברירת המחדל של Earth Engine (earthengine, cloud-platform ו-drive) או עם ההיקפים בארגומנט scopes. מצב gcloud פועל גם במקרים מקומיים וגם במקרים מרחוק.
הוראות מפורטות למצב gcloud (תרחישים מקומיים ומרוחקים)
- מוודאים ש-gcloud מותקן במחשב המקומי.
- בטרמינל, מריצים את הפקודה
gcloud help. אם gcloud לא מותקן, פועלים לפי ההוראות האלה כדי להתקין את gcloud.
- בטרמינל, מריצים את הפקודה
- טרמינל של מכונה מקומית
- בטרמינל, מריצים את הפקודה
earthengine authenticate. - בפלט הפקודה יצוין שמתבצע אחזור של פרטי הכניסה באמצעות gcloud.
- ייפתח חלון בדפדפן עם דף לבחירת חשבון. אם הדפדפן לא נפתח באופן אוטומטי, לוחצים על כתובת ה-URL.
- בטרמינל, מריצים את הפקודה
- דפדפן: בחירת חשבון
- בוחרים את החשבון שבו רוצים להשתמש לאימות.
- דפדפן: מסך בקשת הסכמה
- מציינים אם רוצים להעניק את היקפי ההרשאות המבוקשים ולוחצים על 'אישור'.
- דפדפן: מסך אישור
- בדפדפן יוצג דף שמאשר את האימות, והפקודה
earthengine authenticateבחלון המסוף תדווח על 'שמירת אסימון ההרשאה בוצעה בהצלחה'. - במקרים נדירים, דף האינטרנט יציג קוד שצריך להעתיק ולהדביק בחזרה לסביבת Python.
- בדפדפן יוצג דף שמאשר את האימות, והפקודה
- ממשיכים באתחול.
auth_mode=localhost. זהו תהליך שדומה ל-gcloud למקרים שבהם gcloud לא מותקן. הוא מבצע את אותם השלבים כמו gcloud, אבל הוא פועל רק במקרה המקומי. אפשר לציין מספר יציאה אופציונלי באינטרנט, למשל localhost:8086, או להשתמש ב-localhost:0 כדי לבחור יציאה באופן אוטומטי. יציאה 8085 מוגדרת כברירת מחדל.
auth_mode=notebook. זהו מצב לשימוש כללי שנועד לפעול במצבים מרוחקים שבהם שורות פקודה מקומיות לא זמינות. הלחיצה מעבירה אתכם לדף של כלי האימות של Notebook, שבו תצטרכו לבחור או ליצור 'פרויקט אימות'. פרטים ומדריך לפתרון בעיות מופיעים בהמשך. הפרויקט שמועבר אל ee.Initialize() לא חייב להיות זהה לפרויקט הזה – אפשר להשתמש באותו פרויקט לאימות בזמן שאתם עובדים בפרויקטים שונים במחברות שונות. מומלץ להעביר פרויקט באופן מפורש אל ee.Initialize(), אבל פרויקט האימות ישמש כברירת מחדל.
הוראות מפורטות למצב מחברת
- דפדפן: Notebook
- בתא קוד של מחברת, מריצים את הקוד הבא כדי להתחיל בתהליך אימות באמצעות מצב 'מחברת'.
לוחצים על הקישור בפלט של התא כדי לפתוח את הדף Notebook Authenticator בכרטיסייה חדשה.import ee ee.Authenticate()
- בתא קוד של מחברת, מריצים את הקוד הבא כדי להתחיל בתהליך אימות באמצעות מצב 'מחברת'.
- דפדפן: מאמת Notebook
- מוודאים שחשבון המשתמש הנכון מופיע ברשימה.
- בוחרים פרויקט ב-Google Cloud לשימוש באימות. אם אתם צריכים ליצור פרויקט חדש, מומלץ להשתמש במוסכמה למתן שמות ee-xyz, כאשר xyz הוא שם המשתמש הרגיל שלכם ב-Earth Engine. (אם אתם לא מצליחים לבחור או ליצור פרויקט Cloud, אפשר לעבור אל הקטע לפתרון בעיות בהמשך).
- לוחצים על Generate Token (יצירת טוקן).
- דפדפן: בחירת חשבון
- יוצג לכם דף לבחירת חשבון. לוחצים על חשבון המשתמש שרוצים להעניק לו גישה מהמחברת.
- דפדפן: דף אזהרה
- מוצג דף אזהרה שמציין ש-Google לא יצרה את האפליקציה (כלומר, את הקוד במחברת). לוחצים על 'המשך' כדי לאשר.
- דפדפן: מסך בקשת הסכמה
- מציינים אם אתם מוכנים להעניק את היקפי הגישה המבוקשים ולוחצים על המשך.
- דפדפן: מסך קוד ההרשאה
- העתקת קוד האימות של ההרשאה
- דפדפן: Notebook
- חוזרים לכרטיסייה של המחברת ומדביקים את קוד האימות בפלט של תא המחברת.
- הפלט של התא צריך להיות "Successfully saved authorization token."
- ממשיכים באתחול.
למצב מחברת יש פרמטר quiet שמשתמשים בו לעיתים רחוקות: אם הוא מוגדר, הוא מריץ את הפקודה 'noninteractively' ולא מבקש מכם להזין את קוד האימות.
במקום זאת, הוא נותן פקודה להפעלה כדי לשמור את הקוד.
פרויקטים של אימות
צריך להיות לכם תפקיד בעלים, עורך או עורך הגדרות OAuth בפרויקט האימות שבו נעשה שימוש במצב מחברת. במקרים רבים, במיוחד בצוותים קטנים, פרויקט האימות שבו אתם משתמשים בדף Notebook Authenticator יכול להיות זהה לפרויקט הראשי שבו אתם משתמשים לעבודה אחרת.
מטעמי אבטחה, ההגדרה 'הגדרת לקוח OAuth' בפרויקט האימות היא חד-פעמית. אם אתם או משתמשים אחרים הגדרתם לקוח OAuth בפרויקט מסיבות אחרות, לא ניתן להסיר אותו ותופיע שגיאה עם הכיתוב 'הגדרת לקוח OAuth2 לא תואמת'. תצטרכו להשתמש בפרויקט אחר לאימות, או להשתמש במצבים colab, localhost או gcloud שצוינו למעלה.
פרטים על היקפים
הגדרות ברירת המחדל של האימות ב-Earth Engine כוללות את כל ההיקפים הזמינים, כך שאפשר לדלג על הקטע הזה אם הגדרות ברירת המחדל מתאימות לדרישות שלכם.
היקפי הרשאות של Earth Engine: היקף הרשאות של OAuth 2.0 מגדיר ומגביל את קבוצת המשאבים והפעולות שאפליקציה יכולה לגשת אליהם בשם משתמש. כשמשתמשים ב-OAuth כדי לבצע אימות ב-Earth Engine, צריך לבקש היקף הרשאות אחד או יותר מההיקפים הבאים:
-
https://www.googleapis.com/auth/earthengine: גישת קריאה וכתיבה לנכסים ולמשאבים של Earth Engine. נדרשת כדי ליצור, לשנות או למחוק נכסים, לנהל הרשאות גישה לנכסים ולהפעיל משימות ייצוא. -
https://www.googleapis.com/auth/earthengine.readonly: גישה לקריאה בלבד לנכסי Earth Engine.
שני ההיקפים מאפשרים להריץ סקריפטים ולבצע חישובים (כמו הערכת ביטויים או עיבוד של ויזואליזציות של מפות).
היקפי Google Cloud ו-Drive: אם השאילתות או הסקריפטים של Earth Engine מתייחסים לנתונים או לנכסים חיצוניים, פרטי הכניסה צריכים לכלול גם את ההיקפים המתאימים לשירותים האלה:
- Cloud Storage (GCS) (כשקוראים ממאגרי Cloud Storage או כותבים בהם, למשל כשמטעינים קובצי GeoTIFF מותאמים ל-Cloud או כשמייצאים פלטים של משימות):
https://www.googleapis.com/auth/devstorage.full_controlhttps://www.googleapis.com/auth/devstorage.read_writehttps://www.googleapis.com/auth/devstorage.read_only
- BigQuery (BQ) (כשקוראים טבלאות או כותבים ייצוא ל-BigQuery):
https://www.googleapis.com/auth/bigquery
- Google Drive (כשניגשים לנתונים או מייצאים אותם ל-Google Drive):
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.readonly
ב-Google Cloud יש גם היקפי הרשאות רחבים שכוללים את כל שירותי Google Cloud:
- Cloud Platform (גישה רחבה לשירותי Google Cloud, כולל Earth Engine, Cloud Storage ו-BigQuery. חשוב לזכור ש-Google Drive הוא שירות נפרד של Workspace ולא נכלל בהיקפי הגישה האלה):
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/cloud-platform.read-only
הרשאות ברירת המחדל: הרשאות ברירת המחדל שמוגדרות ב-Earth Engine Code Editor ובספריות לקוח (כמו ee.Authenticate()) כוללות את כל ההרשאות האלה: earthengine, cloud-platform ו-drive (פרטים נוספים מופיעים בהמשך).
לכן, התאמה אישית של היקף ההרשאות (לדוגמה, שימוש בפרמטר scopes ב-ee.Authenticate(scopes=[...])) נדרשת רק אם יש לכם אילוצי אבטחה ספציפיים או מדיניות ארגונית שמחייבים הגבלת הרשאות.
פתרון בעיות
מה קורה אם אי אפשר ליצור פרויקט ב-Cloud?
יש ארגונים שקובעים מי יכול ליצור פרויקטים ב-Cloud. אם מופיעה שגיאה בדף Notebook Authenticator כשמנסים ליצור פרויקט, אפשר לנסות את הפעולות הבאות:
- כדי לוודא שיש לכם את ההרשאות הנדרשות, נסו ליצור פרויקט ישירות.
- כדי לברר אילו תהליכים זמינים ליצירת פרויקט, צריך לפנות לאדמין של הארגון.
- יוצרים פרויקט מחשבון לא ארגוני, ומוסיפים את החשבון שבו אתם משתמשים לעבודה כבעלים של הפרויקט. הערה: בחלק מהארגונים יש מדיניות אבטחה שמונעת גישה ללקוחות OAuth מפרויקטים חיצוניים.
שגיאה: "לא נעשה שימוש ב-Earth Engine API בפרויקט XXX בעבר או שהוא מושבת"
קודם כל, מוודאים שהגדרתם פרויקט ב-ee.Initialize() או בשורת הפקודה (בפרויקטים שמוגדרים כברירת מחדל ב-Cloud וב-Colab לא מופעל Earth Engine). בנוסף, צריך לוודא ש-Earth Engine API
מופעל בפרויקט.
שגיאה: "בפרויקט יש הגדרת לקוח OAuth2 לא תואמת"
לפרויקטים בענן יכולה להיות רק הגדרה אחת של לקוח OAuth2. כדי לבדוק אם הוגדרה הגדרת לקוח OAuth2 בפרויקט ב-Cloud, בודקים את מזהי הלקוח ב-OAuth 2.0 בדף Credentials (פרטי כניסה). צריך לבחור פרויקט אחר בענן שכבר הוגדרה בו תצורה תואמת על ידי Notebook Authenticator, או לבחור או ליצור פרויקט בענן ללא לקוחות OAuth2. המאמת יגדיר את הפרויקט הזה באופן אוטומטי. לצערנו, מערכת OAuth לא מאפשרת למשתמשים למחוק הגדרות, ולכן צריך להשתמש בפרויקט אחר. הפרויקט הזה לא חייב להיות אותו פרויקט שמשמש לעבודות אחרות ב-Earth Engine. הערה: השגיאה הזו לא מתרחשת במצב Colab.
שגיאה: 'gcloud נכשל. צריך לבדוק אם יש שגיאות למעלה ולהתקין את gcloud אם צריך".
השגיאה הזו יכולה להופיע אם gcloud לא מותקן או לא נמצא בנתיב. יכול להיות שהשגיאה תופיע גם אם תתקשרו אל ee.Authenticate(auth_mode='gcloud') מתוך תא קוד במחברת. במקום זאת, צריך להשתמש ב-ee.Authenticate(), שברירת המחדל שלו היא אימות במצב מחברת. אם אתם לא מצליחים ליצור פרויקט, כדאי לעיין בפתרון שלמעלה.
מה קורה אם אין לי גישה למכונה מקומית כדי להתקין את gcloud?
אם אתם עובדים בסביבה שפועלת באינטרנט בלבד ואין לכם גישה לטרמינל מקומי, אבל אתם עדיין צריכים להשתמש בטרמינל מרוחק, אתם יכולים להפעיל את כלי שורת הפקודה על ידי הפעלת מצב המחברת באמצעות הפקודה earthengine
authenticate --auth_mode=notebook.
שגיאה 400: redirect_uri_mismatch
יכול להיות שתקבלו את השגיאה הזו אם תבצעו אימות במחשב מרוחק ללא גישה לדפדפן אינטרנט. אם מריצים את earthengine authenticate משורת הפקודה, צריך להוסיף --quiet, ואם משתמשים בלקוח Python, צריך להוסיף ee.Authenticate(quiet=True). כדי לעשות זאת, תצטרכו לבצע אימות באמצעות gcloud ממחשב שיש לו גישה לדפדפן אינטרנט.
שגיאה: "האפליקציה שלך עוברת אימות באמצעות Application Default Credentials מקומיים. API earthengine.googleapis.com דורש מכסה בפרויקט, שלא מוגדרת כברירת מחדל".
השגיאה הזו עשויה להתרחש כש-Earth Engine לא מצליח לקבוע את מזהה הפרויקט שלכם. אם אפשרויות פתרון הבעיות ב-Google Cloud לא עוזרות, אפשר לנסות להריץ את earthengine set_project YOUR_PROJECT_ID או את gcloud
auth application-default set-quota-project YOUR_PROJECT_ID.
שגיאה: 'חסרות הרשאות נדרשות ל[Cloud Storage / BigQuery]'
השגיאה הזו מתרחשת כשבקשה של Earth Engine ניגשת למשאבים של Cloud Storage או של BigQuery, אבל פרטי הכניסה ששימשו לאתחול Earth Engine לא כוללים את ההיקפים הנדרשים לשירות הזה (או את ההיקף cloud-platform, שכולל את כל שירותי Google Cloud). בדרך כלל זה קורה אם התאמתם אישית את הפרמטר scopes במהלך האימות (לדוגמה, אם סיפקתם רק היקפי Earth Engine ל-ee.Authenticate(scopes=[...])) או אם נוצרו פרטי כניסה קיימים ללא ההיקפים האלה.
יש שתי דרכים לפתור את הבעיה:
- אימות מחדש עם היקפי ברירת מחדל: פרטי הכניסה שמוגדרים כברירת מחדל ל-Earth Engine כוללים את היקף
cloud-platform, שכולל גם את Cloud Storage וגם את BigQuery. אימות מחדש באמצעות הגדרות ברירת המחדל:- ב-Python:
ee.Authenticate(force=True) - בשורת הפקודה:
earthengine authenticate --force
- ב-Python:
- כוללים את ההיקפים הנדרשים: אם הסביבה שלכם דורשת התאמה אישית של ההיקפים, צריך לוודא שהרשימה
scopesכוללת אתhttps://www.googleapis.com/auth/cloud-platformאו את היקף השירות הספציפי (למשלhttps://www.googleapis.com/auth/devstorage.full_controlאוhttps://www.googleapis.com/auth/devstorage.read_onlyל-Cloud Storage, אוhttps://www.googleapis.com/auth/bigqueryל-BigQuery).
פרטים נוספים על היקפים זמינים מופיעים במאמר פרטים על היקפים.
הערות טכניות
למי שמתעניין בצד הטכני: הצורך במנגנונים שונים ליצירת פרטי כניסה נובע מהצורך להעביר פרטי כניסה לסביבה מוכרת ומהימנה. הנה הסבר קצר על המקרים השונים שצוינו למעלה.
- בעבר היה מצב
pasteשבו קיבלתם טוקן להדבקה בכל מקום, אבל הוא נחשב מסוכן מדי ולכן הוא לא זמין יותר. -
colab:auth.authenticate_user()תציג בקשה לשיתוף פרטי הכניסה עם לקוח האימות 'Colab', סביבת המחברת עצמה. אחר כך הן זמינות דרךgoogle.auth.default()ומשמשות אתee.Initialize(). -
localhost: פרטי הכניסה מועברים מהדפדפן ליציאה במחשב המקומי. במצב כזה, האבטחה מקצה לקצה תלויה בכך שהמכונה המקומית שלכם לא נפרצה. לקוח האימות שיוצג הוא Earth Engine Authenticator. -
gcloud: נעשה שימוש בתהליך--launch-browserשמתואר במסמכי העזר של gcloud, וגם--no-launch-browserאם מדובר במכונה מרוחקת. לקוח האימות שבו נעשה שימוש הוא Google Auth Library. -
notebook: אנחנו יוצרים לקוח אימות חדש במיוחד בשביל העבודה שלכם – כתובת האימייל שלכם תופיע בדף ההסכמה. הלקוח הזה מוגדר במצב 'פיתוח', שהוא מקרה מיוחד שמאפשר שימוש בטוקנים של מצב ההדבקה הישן. אנחנו צריכים להשתמש בפרויקט שלכם, כי אי אפשר לשתף לקוחות כאלה עם מספר גדול של משתמשים.