Cloud Functions for Firebase
יכולות עיקריות
| שילוב של תכונות Firebase וקישור של Firebase ל-Google Cloud | הפונקציות שאתם כותבים יכולות להגיב לאירועים שנוצרים על ידי תכונות שונות של Firebase ושל Google Cloud, החל מטריגרים של אימות ב-Firebase ועד טריגרים של Cloud Storage. שילוב בין תכונות של Firebase באמצעות Admin SDK יחד עם Cloud Functions, ושילוב עם שירותי צד שלישי באמצעות כתיבת ווּבְּהוּקים משלכם. Cloud Functions minimizes boilerplate code, making it easier to use Firebase and Google Cloud inside your function. |
| ללא כל תחזוקה | אפשר לפרוס את קוד 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 יוצרת עוד מופעים כדי לטפל בעבודה מהר יותר. אם הפונקציה לא פעילה, המערכת מנקה את המופעים.
- כשמעדכנים את הפונקציה על ידי פריסת קוד מעודכן, המערכת מנקה את המופעים של גרסאות ישנות יותר יחד עם תוצרי הבנייה ב-Artifact Registry, ומחליפה אותם במופעים חדשים.
- כשמוחקים את הפונקציה, כל המופעים וארכיוני ה-ZIP נמחקים, וגם ארטיפקטים קשורים של בנייה ב-Artifact Registry. החיבור בין הפונקציה לבין ספק האירועים מוסר.
בנוסף להאזנה לאירועים באמצעות פונקציית רקע, אפשר להפעיל פונקציות ישירות באמצעות בקשת HTTP או קריאה מהלקוח. אפשר גם להפעיל פונקציות לפי לוח זמנים קבוע או להוסיף פונקציות של משימות לתור באמצעות Admin SDK.
נתיב ההטמעה
| הגדר את Cloud Functions | מתקינים את Firebase CLI ומפעילים את Cloud Functions בפרויקט Firebase. | |
| כתיבת פונקציות | כתיבת קוד JavaScript, קוד TypeScript או קוד Python כדי לטפל באירועים משירותי Firebase, משירותי Google Cloud או מספקי אירועים אחרים. | |
| פונקציות בדיקה | משתמשים באמולטור מקומי כדי לבדוק את הפונקציות. | |
| פריסה ומעקב | שדרגו את הפרויקט לתוכנית Blaze בתשלום לפי שימוש ופורסים את הפונקציות באמצעות Firebase CLI. אחר כך תוכלו להשתמש ב Google Cloud console כדי לראות את היומנים ולחפש בהם. |
השלבים הבאים
- מתחילים להגדיר, ליצור ולפרוס פונקציות.
- מידע נוסף על מה שאפשר לעשות עם פונקציות
- אפשר לנסות את Cloud Functions ה-codelab.