Cloud Functions ל-Firebase
כבר משתמשים ב-Cloud Functions ב-Google Cloud? מידע נוסף על התפקיד של Firebase
יכולות מרכזיות
שילוב של תכונות Firebase וחיבור של Firebase ל-Google Cloud | הפונקציות שאתם כותבים יכולות להגיב לאירועים שנוצרים על ידי תכונות שונות של Firebase ו-Google Cloud, החל מטריגרים של אימות ב-Firebase ועד לטריגרים של Cloud Storage. שילוב בין התכונות השונות של Firebase באמצעות Admin SDK יחד עם Cloud Functions, ושילוב עם שירותי צד שלישי על ידי כתיבת webhooks משלכם. Cloud Functions מפחית את כמות הקוד הסטנדרטי, כך שקל יותר להשתמש ב-Firebase וב-Google Cloud בתוך הפונקציה. |
ללא כל תחזוקה | פריסת הקוד שלכם ב-JavaScript, ב-TypeScript או ב-Python בשרתים שלנו באמצעות פקודה אחת משורת הפקודה. לאחר מכן, Firebase מגדילה באופן אוטומטי את משאבי המחשוב בהתאם לדפוסי השימוש של המשתמשים. אתם לא צריכים לדאוג לפרטי כניסה, להגדרת שרתים, להקצאת שרתים חדשים או להוצאה משימוש של שרתים ישנים. |
שמירה על הפרטיות והאבטחה של הלוגיקה | במקרים רבים, מפתחים מעדיפים לשלוט בלוגיקה של האפליקציה בשרת כדי למנוע פגיעה בצד הלקוח. בנוסף, לפעמים לא רצוי לאפשר לבצע הנדסה הפוכה לקוד הזה. Cloud Functions מבודד לחלוטין מהלקוח, כך שאתם יכולים להיות בטוחים שהוא פרטי ותמיד עושה בדיוק את מה שאתם רוצים. |
איך זה עובד?
אחרי שכותבים פונקציה ופורסים אותה, שרתי Google מתחילים לנהל אותה באופן מיידי. אפשר להפעיל את הפונקציה ישירות באמצעות בקשת HTTP, באמצעות Admin SDK או באמצעות משימה מתוזמנת. במקרה של פונקציות רקע, שרתי Google ממתינים לאירועים ומריצים את הפונקציה כשהיא מופעלת.
ככל שהעומס עולה או יורד, Google מגיבה על ידי התאמה מהירה של מספר המכונות הווירטואליות של השרתים הנדרשות להפעלת הפונקציה. כל פונקציה פועלת בנפרד, בסביבה משלה עם הגדרות משלה.
מחזור החיים של פונקציית רקע
- כותבים קוד לפונקציה חדשה, בוחרים ספק אירועים (כמו Cloud Firestore) ומגדירים את התנאים שבהם הפונקציה צריכה לפעול.
- כשפורסים את הפונקציה:
- ה-CLI של Firebase יוצר ארכיון
.zip
של קוד הפונקציה, שמעלה אותו לקטגוריה Cloud Storage (עם הקידומתgcf-sources
) לפני ש-Cloud Functions יוצר מאגר Artifact Registry (שנקראgcf-artifacts
) בפרויקט. - Cloud Build מאחזר את קוד הפונקציה ויוצר את קוד המקור של הפונקציה. אפשר להציג את יומני Cloud Build במסוף Google Cloud.
- קובץ האימג' של הקונטיינר עם קוד הפונקציות שנוצרות מועלה למאגר Artifact Registry פרטי בפרויקט (שנקרא
gcf-artifacts
), והפונקציה החדשה מושקת.
- ה-CLI של Firebase יוצר ארכיון
- הקוד מופעל כשספק האירועים יוצר אירוע שתואם לתנאים של הפונקציה.
- אם הפונקציה עסוקה בטיפול באירועים רבים, Google יוצרת עוד מכונות כדי לטפל בעבודה מהר יותר. אם הפונקציה לא פעילה, המכונות יימחקו.
- כשמעדכנים את הפונקציה על ידי פריסה של קוד מעודכן, המכונות של הגרסאות הישנות נמחקות יחד עם ארטיפקטים של גרסאות build ב-Artifact Registry, ומחליפים אותן במכונות חדשות.
- כשמוחקים את הפונקציה, כל המכונות וארכיוני ה-zip נמחקים, יחד עם ארטיפקטים קשורים של גרסאות build ב-Artifact Registry. החיבור בין הפונקציה לבין ספק האירועים יוסר.
בנוסף להאזנה לאירועים באמצעות פונקציית רקע, אפשר להפעיל פונקציות ישירות באמצעות בקשת HTTP או קריאה מהלקוח. אפשר גם להפעיל פונקציות לפי לוח זמנים קבוע או להוסיף פונקציות של משימות לתור באמצעות Admin SDK.
נתיב ההטמעה
הגדר את Cloud Functions | מתקינים את ה-CLI של Firebase ומפעילים את Cloud Functions בפרויקט Firebase. | |
כתיבת פונקציות | כותבים קוד JavaScript, קוד TypeScript או קוד Python כדי לטפל באירועים משירותי Firebase, משירותי Google Cloud או מספקי אירועים אחרים. | |
בדיקת פונקציות | משתמשים במעבדה הווירטואלית המקומית כדי לבדוק את הפונקציות. | |
פריסה ומעקב | משדרגים את הפרויקט לתוכנית התמחור של Blaze בתשלום לפי שימוש ופורסים את הפונקציות באמצעות ה-CLI של Firebase. לאחר מכן תוכלו להשתמש ב מסוף Google Cloud כדי להציג את היומנים ולחפש בהם. |
השלבים הבאים
- תחילת העבודה עם הגדרה, יצירה ופריסה של פונקציות.
- מידע נוסף על מה שאפשר לעשות עם פונקציות
- כדאי לנסות את codelab של Cloud Functions.