Cloud Functions ל-Firebase

Cloud Functions ל-Firebase היא framework ללא שרת (serverless) מאפשרת להריץ באופן אוטומטי קוד בקצה העורפי בתגובה לאירועים שמופעלים על ידי אירועים ברקע, בקשות HTTPS, המשימות Admin SDK או Cloud Scheduler. שלך קוד JavaScript, TypeScript או Python נשמר בתשתית של Google Cloud והם פועלים בסביבה מנוהלת. אין צורך לנהל ולהתאים לעומס שרתים משלכם.

כבר משתמשים ב-Cloud Functions ב-Google Cloud? מידע נוסף על אופן ההתאמה של Firebase בתוך התמונה.

תחילת העבודה תרחישים לדוגמה

יכולות עיקריות

משלבת תכונות של Firebase ומחברת את Firebase עם Google Cloud

הפונקציות שכותבים יכולות להגיב לאירועים שנוצרו על ידי התכונות של Firebase ו-Google Cloud, מ- טריגרים של אימות ב-Firebase לטריגרים של Cloud Storage.

אינטגרציה בין תכונות של Firebase באמצעות SDK לאדמינים יחד עם Cloud Functions, ושילוב עם צדדים שלישיים על ידי כתיבת webhooks משלכם. Cloud Functions מפחית את כמות הקוד הסטנדרטי, כך שקל יותר להשתמש ב-Firebase וב-Google Cloud בתוך הפונקציה.
ללא תחזוקה לפרוס את הקוד שלכם ב-JavaScript, TypeScript או Python בשרתים שלנו באמצעות קוד משורת הפקודה. לאחר מכן, Firebase מרחיב באופן אוטומטי את משאבי המחשוב בהתאם דפוסי השימוש של המשתמשים. אתם לא צריכים לדאוג לפרטי כניסה, להגדרת שרתים, להקצאת שרתים חדשים או להוצאה משימוש של שרתים ישנים.
שומר על הפרטיות והאבטחה של הלוגיקה שלכם במקרים רבים, מפתחים מעדיפים לשלוט בלוגיקה של האפליקציה בשרת כדי למנוע פגיעה בצד הלקוח. כמו כן, לפעמים רצוי לא לאפשר הנדסה הפוכה של הקוד הזה. Cloud Functions מבודד לגמרי מהלקוח, כך להיות בטוחים שהוא פרטי ותמיד עושה בדיוק את מה שרוצים.

איך זה עובד?

אחרי שכותבים ופורסים פונקציה, השרתים של Google מתחילים לנהל תופיע באופן מיידי. אפשר להפעיל את הפונקציה ישירות באמצעות בקשת HTTP, Admin SDK, משימה מתוזמנת או במקרה של פונקציות ברקע, שרתי Google מאזינים לאירועים ומריצים את הפונקציה מופעל.

ככל שהעומס גדל או פוחתת, Google מגיבה על ידי הגדלה מהירה של מספר השרתים הווירטואליים שנדרשים להפעלת הפונקציה. כל פונקציה רצה בנפרד, עם הגדרות אישיות משלו.

מחזור החיים של פונקציה ברקע

  1. כותבים קוד לפונקציה חדשה, בוחרים ספק אירועים (כמו Cloud Firestore) ומגדירים את התנאים שבהם הפונקציה צריכה לפעול.
  2. כשפורסים את הפונקציה:
    1. ה-CLI של Firebase יוצר ארכיון .zip של קוד הפונקציה, שמעלה אותו לקטגוריה Cloud Storage (עם הקידומת gcf-sources) לפני ש-Cloud Functions יוצר מאגר Artifact Registry (שנקרא gcf-artifacts) בפרויקט.
    2. Cloud Build מאחזרת את קוד הפונקציה ויוצרת את הפונקציה מקור. אפשר לצפות ביומנים של Cloud Build ב מסוף Google Cloud.
    3. מתבצעת העלאה של קובץ האימג' בקונטיינר לקוד הפונקציות שנוצרו במאגר הפרטי של Artifact Registry בפרויקט שלך (בשם gcf-artifacts), והפונקציה החדשה הושקה.
  3. כשספק האירוע יוצר אירוע שתואם לפונקציה תנאים, הקוד יופעל.
  4. אם הפונקציה עסוקה בטיפול באירועים רבים, Google יוצרת מופעים נוספים כדי לעבוד מהר יותר. אם הפונקציה לא פעילה, המכונות יימחקו.
  5. כשמעדכנים את הפונקציה על ידי פריסת קוד מעודכן, מכונות של גרסאות ישנות יותר מתבצע ניקוי של גרסאות יחד עם ארטיפקטים של build Artifact Registry, והוחלף במכונות חדשות.
  6. כשמוחקים את הפונקציה, כל המכונות וארכיוני ה-zip נמחקים, יחד עם ארטיפקטים קשורים של גרסאות build ב-Artifact Registry. החיבור בין הפונקציה לספק האירוע יוסר.

בנוסף להאזנה לאירועים באמצעות פונקציית רקע, אפשר להפעיל פונקציות ישירות באמצעות בקשת HTTP או קריאה מהלקוח. אפשר גם להפעיל פונקציות בלוח זמנים קבוע, או הוספת פונקציות של משימות לתור דרך Admin SDK.

נתיב ההטמעה

הגדר את Cloud Functions מתקינים את ה-CLI של Firebase ומפעילים את Cloud Functions בפרויקט Firebase.
כתיבת פונקציות לכתוב קוד JavaScript, קוד TypeScript או קוד Python כדי לטפל באירועים מ-Firebase שירותים, שירותי Google Cloud או ספקי אירועים אחרים.
בדיקת פונקציות משתמשים באמולטור מקומי כדי לבדוק את הפונקציות.
פריסה ומעקב מפעילים את החיוב בפרויקט ופורסים את הפונקציות באמצעות CLI של Firebase. אפשר להשתמש מסוף Google Cloud כדי להציג את היומנים ולחפש בהם.

השלבים הבאים