מזהה אזור
REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, המחרוזת REGION_ID.r כלולה בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
להשתמש בפרטי משתמש מאומתים כדי לאחסן ולאחזר נתונים ספציפיים למשתמש, ולהתאים אישית את חוויית המשתמש של כל משתמש בשירות האינטרנט שלכם.
בשלב הקודם עדכנתם את שירות האינטרנט כך שיוצגו בו עשר הבקשות האחרונות מכל המשתמשים. בשלב הזה, משתמשים בפרטי המשתמש המאומת כדי לעדכן את שירות האינטרנט כך שבדף תוצג רק רשימה של עשר הבקשות האחרונות שנשלחו על ידי המשתמש המאומת הנוכחי.
לפני שמתחילים
אם השלמתם את כל השלבים הקודמים במדריך הזה, אתם יכולים לדלג על הקטע הזה. אם לא, מבצעים אחת מהפעולות הבאות:
מתחילים מהמאמר פיתוח אפליקציה ב-Python 3 ומשלימים את כל השלבים עד לשלב הזה.
אם כבר יש לכם פרויקט שלGoogle Cloud , אתם יכולים להמשיך בהורדת עותק של שירות האינטרנט והוספה של Firebase:
מורידים את מאגר האפליקציה לדוגמה באמצעות Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samplesאפשרות נוספת היא להוריד את הדוגמה כקובץ ZIP ואז לחלץ אותה.
עוברים אל הספרייה שמכילה עותק של הקבצים מהשלב הקודם:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-3
אחסון ואחזור של נתונים ספציפיים למשתמש
אתם יכולים לציין שנתונים מקושרים למשתמש מסוים באמצעות צאצאים של Firestore במצב Datastore (Datastore), שמאפשרים לכם לארגן את נתוני Datastore באופן היררכי.
כדי לעשות זאת, פועלים לפי השלבים הבאים:
מעדכנים את השיטות
store_timeו-fetch_timeכדי להשתמש בצאצאים של Datastore לאחסון ולאחזור של ישויותvisit:לכל ישות
visitיש עכשיו ישות אם שהיא מקושרת אליה. האבות האלה הם ישויות Datastore שמייצגות משתמשים מאומתים ספציפיים. המפתח של כל רשומה כולל אתUserהסוג ומזהה מותאם אישית, שהוא כתובת האימייל של המשתמש המאומת. משתמשים במפתח של רשומת האב כדי להריץ שאילתה במסד הנתונים רק לגבי השעות שמשויכות למשתמש ספציפי.מעדכנים את הפעלת method
store_timesבשיטהrootומעבירים אותה לתנאיid_tokenכדי שהיא תפעל רק אם השרת אימת משתמש:
הגדרת אינדקסים
Datastore מבצע שאילתות על סמך אינדקסים. במקרה של ישויות פשוטות, המערכת של Datastore יוצרת את האינדקסים האלה באופן אוטומטי. עם זאת, הוא לא יכול ליצור באופן אוטומטי אינדקסים לישויות מורכבות יותר, כולל כאלה עם ישויות אב.
לכן, צריך ליצור ידנית אינדקס של ישויות visit כדי ש-Datastore יוכל לבצע שאילתות שכוללות ישויות visit.
כדי ליצור אינדקס של ישויות visit, מבצעים את השלבים הבאים:
יוצרים קובץ
index.yamlבספריית השורש של הפרויקט, לדוגמהbuilding-an-app, ומוסיפים את האינדקס הבא:מריצים את הפקודה הבאה ופועלים לפי ההנחיות כדי לפרוס את האינדקסים של
index.yamlב-Datastore:gcloud datastore indexes create index.yaml
יכול לקחת זמן עד ש-Datastore ייצור אינדקסים. יצירת אינדקסים לפני פריסת שירות האינטרנט ב-App Engine מאפשרת לכם לבצע בדיקות מקומיות באמצעות האינדקסים האלה, ומונעת חריגים שעשויים להתרחש בשאילתות שדורשות אינדקס שנמצא עדיין בתהליך בנייה.
מידע נוסף על יצירת אינדקסים ב-Datastore זמין במאמר בנושא הגדרת אינדקסים ב-Datastore.
בדיקת שירות האינטרנט
בודקים את שירות האינטרנט על ידי הפעלתו באופן מקומי בסביבה וירטואלית:
כדי להפעיל את שירות האינטרנט, מריצים את הפקודה הבאה בספרייה הראשית של הפרויקט. אם לא הגדרתם סביבה וירטואלית לבדיקה מקומית, כדאי לעיין במאמר בנושא בדיקת שירות האינטרנט.
python main.pyמזינים את הכתובת הבאה בדפדפן האינטרנט כדי לראות את שירות האינטרנט:
http://localhost:8080
פריסת שירות האינטרנט
אחרי ש-Datastore פועל באופן מקומי, אפשר לפרוס מחדש את שירות האינטרנט ב-App Engine.
מריצים את הפקודה הבאה מתיקיית הבסיס של הפרויקט, שבה נמצא הקובץ app.yaml:
gcloud app deploy
כל התנועה מנותבת אוטומטית לגרסה החדשה שפרסתם.
מידע נוסף על ניהול גרסאות זמין במאמר ניהול שירותים וגרסאות.
צפייה בשירות
כדי להפעיל במהירות את הדפדפן ולגשת לשירות האינטרנט בכתובת https://PROJECT_ID.REGION_ID.r.appspot.com, מריצים את הפקודה הבאה:
gcloud app browse
השלבים הבאים
כל הכבוד! יצרתם בהצלחה שירות אינטרנט שמשתמש באחסון נתונים ב-Datastore ובאימות ב-Firebase כדי לספק למשתמשים מאומתים דף אינטרנט מותאם אישית.
עכשיו אפשר לנקות את הפרויקט על ידי כיבוי, השבתה או השבתת החיוב.