
app.yaml מכיל הגדרות ל-App Engine, ובדוגמה רק שורה אחת שמציינת runtime של Python. requirements מפרט את הספרייה היחידה שצריך להתקין, ספריית אתרי אינטרנט. ב-main.py מייבאים אותה, יוצרים משתנה app, ומוסיפים פונקציה עם app.route שמחזירה טקסט. אי אפשר לתת לשתי פונקציות אותו שם, ולכן המרצה שינה את שמות הפונקציות ל-hello English ול-hello Hebrew.gcloud app deploy מעלה את הקוד. בפעם הראשונה נכשלה ההעלאה בגלל חוסר גישה ל-bucket. הפתרון: להפעיל (enable) את ה-App Engine Admin API, שמבוטל כברירת מחדל.-v נותנים שם ברור לגרסה, למשל Hebrew01. הקוד מועלה ל-bucket, ובסיום מתקבלת כתובת של ה-service. הכתובת הראשית מציגה את הגרסה האנגלית, ו-/Hebrew את העברית./Ru, ופורסים עם -v Hebrew02. הכתובת נשארת אותה כתובת.gcloud --version מוודא שהכלי זמין.הטקסט המלא של הדקות הראשונות בהרצאה «App Engine Serverless חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בסרטון זה אנחנו ממשיכים עם App Engine של גוגל. כרגע אין לנו אף instance, כאשר המטרה שלנו זה לקחת את הקוד של האתר שלנו ולהעלות ישירות לגוגל בלי ליצור מכונה וירטואלית, בלי ליצור קונטיינרים, בלי להתעסק בכל ניהול הרשת.
זה אומר שגוגל יעשו עבורנו SSL ותעודות דיגיטליות. גוגל עבורנו יפזרו עומסים וייצרו instances נוספים אם צריך. בסופו של יום, המטרה שלנו זה לדחוף להם את הקוד שלנו, לתת להם את הקוד והם לבד ינהלו את המכונה ואת הסביבה ואת כל ה-- ספריות שצריך ואת הפייתון.
אנחנו לא מתעסקים בכלום, כלום, כלום. ויותר מזה, אם יש עומס הם תוך שנייה מקימים עוד שרת. הכול אוטומט. אנחנו רק רוצים לתת להם את הקוד.
זה חוסך לנו את כל הסיסטם וניהול רשת והתעסקות טכנית. זה נקרא serverless. ובהרצאה הקודמת הגענו למצב שיש לנו בתוך הפרויקט Hello World כמה קבצים שהורדנו מ-GitHub ואנחנו רוצים לעבור על הקבצים האלו.
הקובץ של app.yaml מתעסק בהגדרות ל-App Engine של גוגל. בואו נמחק את כל מה שמסולמית ונראה שיש פה למעשה רק שורה אחת שאומרת שהקוד הזה כתוב בשפת פייתון.
אז צריך runtime, סביבת ריצה, שיש בתוכה פייתון והוא יכין את הקונטיינר המתאים, את המכונה הווירטואלית המתאימה ויריץ את זה בפנים. ויש לנו פה קובץ של requirements.
requirements זה איזה ספריות צריך להתקין בתוך המכונה. כרגע צריך רק ספריה אחת. ומה זה הספריה הזאת? היא מתעסקת בכל הנושא של אתרי אינטרנט, ובתוך main.py אני יכול לעשות קוד של חמש שורות.
שימו לב, אני הורדתי את כל מה שהיה עם הערות ועם סולמיות. השארתי רק את הקוד שצריך. דבר ראשון אני רואה פה שאנחנו מייבאים את הספריה הזאת.
עושים משתנה בשם app שמטעין את הספריה הזאת. למעשה בתוך ה-app ישב אתר web, אתר האינטרנט, שאני יכול לקרוא לפונקציות שלו. לדוגמה פונקציה נקודה route, app.route. מה זה אומר?
הסימן המיוחד הזה אומר שזה תוספת decoration סביב הפונקציה שבאה אחריו. אז יש לי פה פונקציה hello שכל מה שהיא עושה, היא פשוט מחזירה "Hello, world". אני יכול גם לעשות עוד ניתובים, לדוגמה סלאש Hebrew ולהחזיר "Hello, world at Hebrew".
האמת, לפני שנמשיך, שמתי לב פה שיש לנו שתי פונקציות עם אותו שם וזה אסור. בואו נעשה hello Hebrew, נכתוב hello Hebrew וזה hello English, כי אסור שתי פונקציות עם אותו שם.
טוב, בואו נדחוף את כל זה לענן. נבוא כאן ל-CMD למטה.