Cloud Functions ל-Firebase
יכולות עיקריות
| שילוב של תכונות Firebase וקישור של Firebase ל-Google Cloud | הפונקציות שאתם כותבים יכולות להגיב לאירועים שנוצרים על ידי תכונות שונות של Firebase ו-Google Cloud, החל מטריגרים של אימות ב-Firebase ועד לטריגרים של Cloud Storage. אפשר לשלב בין תכונות של Firebase באמצעות Admin SDK יחד עם Cloud Functions, ולשלב עם שירותים של צד שלישי על ידי כתיבת תגובות לפעולה מאתר אחר (webhooks) משלכם. Cloud Functions מצמצם את הקוד שחוזר על עצמו (boilerplate), וכך קל יותר להשתמש ב-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 יוצר ארכיון
- כשספק האירועים יוצר אירוע שתואם לתנאים של הפונקציה, הקוד מופעל. לפונקציה מצורף חשבון שירות שאפשר להשתמש בו כדי לגשת לשירותי Firebase אחרים בעזרת Firebase Admin SDK.
- אם הפונקציה עסוקה בטיפול באירועים רבים, Google יוצרת עוד מכונות כדי לטפל בעבודה מהר יותר. אם הפונקציה לא פעילה, המכונות מנוקות.
- כשמעדכנים את הפונקציה על ידי פריסת קוד מעודכן, המכונות של הגרסאות הישנות יותר מנוקות יחד עם פריטי ה-build ב-Artifact Registry, ומוחלפות במכונות חדשות.
- כשמוחקים את הפונקציה, כל המכונות וארכיוני ה-ZIP נמחקים, יחד עם פריטי ה-build הקשורים ב-Artifact Registry. החיבור בין הפונקציה לבין ספק האירועים מוסר.
בנוסף להאזנה לאירועים באמצעות פונקציה ברקע, אפשר להפעיל פונקציות ישירות באמצעות בקשת HTTP או קריאה מהלקוח. אפשר גם להפעיל פונקציות לפי לוח זמנים קבוע או להוסיף פונקציות של משימות לתור באמצעות Admin SDK.
שיטת הטמעה
| הגדר את Cloud Functions | מתקינים את Firebase CLI ומפעילים את Cloud Functions בפרויקט Firebase. | |
| כתיבת פונקציות | לכתוב קוד JavaScript, קוד TypeScript או קוד Python כדי לטפל באירועים משירותי Firebase, משירותי Google Cloud או מספקי אירועים אחרים. | |
| פונקציות בדיקה | משתמשים באמולטור מקומי כדי לבדוק את הפונקציות. | |
| פריסה ומעקב | משדרגים את הפרויקט לתוכנית התמחור Blaze בתשלום לפי שימוש ופורסים את הפונקציות באמצעות ה-CLI של Firebase. אחר כך תוכלו להשתמש במסוף Google Cloud כדי לראות את היומנים ולחפש בהם. |
השלבים הבאים
- איך מתחילים להגדיר, ליצור ולפרוס פונקציות.
- מידע נוסף על הפעולות שאפשר לבצע באמצעות פונקציות
- אפשר לנסות את Cloud Functions ה-codelab.