Cloud Functions מאפשר למפתחים לגשת לאירועים ב-Firebase וב-Google Cloud, וגם לכוח מחשוב שניתן להתאמה כדי להריץ קוד בתגובה לאירועים האלה. אפליקציות Firebase משתמשות ב-Cloud Functions בדרכים ייחודיות כדי לענות על הדרישות הייחודיות שלהן, אבל תרחישים לדוגמה אופייניים עשויים להיכלל בתחומים הבאים:
- לשלוח התראות למשתמשים כשקורה משהו מעניין.
- לבצע ניקוי ותחזוקה של מסד הנתונים.
- מבצעים משימות אינטנסיביות בענן במקום באפליקציה.
- שילוב עם שירותים וממשקי API של צד שלישי.
כדאי לעיין בתרחישים לדוגמה ובדוגמאות של כל קטגוריה שמעניינת אתכם, ואז להמשיך למדריך תחילת העבודה או למדריכים ספציפיים בנושאים כמו אירועי אימות, אירועי ניתוח נתונים ועוד.
שליחת התראות למשתמשים כשקורה משהו מעניין
מפתחים יכולים להשתמש ב-Cloud Functions כדי לשמור על רמת המעורבות של משתמשים ולעדכן אותם במידע רלוונטי על האפליקציה. לדוגמה, באפליקציה שמאפשרת למשתמשים לעקוב אחרי הפעילויות של משתמשים אחרים באפליקציה, בכל פעם שמשתמש מוסיף את עצמו כעוקב של משתמש אחר, מתבצעת כתיבה ב-Realtime Database. לאחר מכן, אירוע הכתיבה הזה יכול להפעיל פונקציה ליצירת התראות Firebase Cloud Messaging (FCM) כדי להודיע למשתמשים המתאימים שיש להם עוקבים חדשים.

- הפונקציה מופעלת כשמתבצעת כתיבה בנתיב Realtime Database שבו מאוחסנים העוקבים.
- הפונקציה מנסחת הודעה לשליחה דרך FCM.
- FCM שולח את הודעת ההתראה למכשיר של המשתמש.
כדי לבדוק קוד פעיל, אפשר לעיין בקוד לדוגמה ב-GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
תרחישים מעניינים אחרים לשימוש בהתראות
- לשלוח הודעות אישור באימייל למשתמשים שנרשמים לניוזלטר.
- לשלוח אימייל פתיחה כשמשתמש משלים את ההרשמה.
- שליחת אישור ב-SMS כשמשתמש יוצר חשבון חדש.
לבצע ניקוי ותחזוקה של מסד הנתונים
בעזרת טיפול באירועים במסד הנתונים של Cloud Functions, אתם יכולים לשנות את Realtime Database או את Cloud Firestore בתגובה להתנהגות המשתמשים, וכך לשמור על המצב הרצוי של המערכת. לדוגמה, אתם יכולים לעקוב אחרי אירועי כתיבה ולשנות את הפורמט (למשל, לשנות את כל האותיות לאותיות רישיות) של מחרוזות מסוימות בהודעות של המשתמשים. ככה זה עובד:

- הגורם המטפל באירועים של מסד הנתונים של הפונקציה מקשיב לאירועי כתיבה בנתיב ספציפי, ומאחזר נתוני אירועים שמכילים את הטקסט של ההודעות.
- הפונקציה מעבדת את הטקסט כדי לשנות מחרוזות לאותיות רישיות.
- הפונקציה כותבת את הטקסט המעודכן בחזרה למסד הנתונים.
כדי לבדוק קוד פעיל, אפשר לעיין בקוד לדוגמה ב-GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
תרחישי שימוש אחרים של הסרת תוכן זדוני או רגיש ותחזוקה של מסדי נתונים
- מחיקה סופית של תוכן של משתמש שנמחק מ-Realtime Database.
- הגבלת מספר צומתי הצאצא במסד נתונים של Firebase.
- מעקב אחרי מספר הרכיבים ברשימה של Realtime Database.
- העתקת נתונים מ-Realtime Database אל Google Cloud BigQuery.
- להמיר טקסט לאמוג'י.
- ניהול מטא-נתונים מחושבים של רשומות במסד נתונים.
ביצוע משימות אינטנסיביות בענן במקום באפליקציה
אתם יכולים להשתמש ב-Cloud Functions כדי להעביר לענן של Google עבודה שדורשת משאבים רבים (מעבד או רשת) במקום להריץ אותה במכשיר של המשתמש, וכך לשפר את מהירות התגובה של האפליקציה. לדוגמה, אתם יכולים לכתוב פונקציה שתאזין להעלאות של תמונות ל-Cloud Storage, תוריד את התמונה למכונה שמריצה את הפונקציה, תשנה אותה ותעלה אותה בחזרה ל-Cloud Storage. השינויים יכולים לכלול שינוי גודל, חיתוך או המרה של תמונות באמצעות כלים כמו sharp או Pillow.

- פונקציה מופעלת כשקובץ תמונה מועלה אל Cloud Storage.
- הפונקציה מורידה את התמונה ויוצרת גרסה ממוזערת שלה.
- הפונקציה כותבת את מיקום התמונה הממוזערת במסד הנתונים, כדי שאפליקציית הלקוח תוכל למצוא אותה ולהשתמש בה.
- הפונקציה מעלה את התמונה הממוזערת בחזרה אל Cloud Storage במיקום חדש.
- האפליקציה מורידה את הקישור לתמונה הממוזערת.
במדריך טיפול באירועי Cloud Storage מופיעה דוגמה לעיבוד תמונה.
דוגמאות נוספות למשימות באצווה בענן של Firebase
- מחיקה תקופתית של חשבונות Firebase שלא בשימוש Node.js | Python.
- גיבוי אוטומטי של תמונות שהועלו Node.js | Python.
- לשלוח אימיילים למספר משתמשים בו-זמנית.
- צוברים ומסכמים נתונים מדי פעם.
- לעבד תור של עבודה בהמתנה.
שילוב עם שירותים וממשקי API של צד שלישי
Cloud Functions יכול לעזור לאפליקציה לפעול טוב יותר עם שירותים אחרים על ידי קריאה לממשקי API לאינטרנט וחשיפה שלהם. לדוגמה, אפליקציה שמשמשת לשיתוף פעולה בפיתוח יכולה לפרסם פקודות commit של GitHub בחדר צ'אט של קבוצת עבודה.

- משתמש מעביר שינויים למאגר ב-GitHub.
- פונקציית HTTPS מופעלת באמצעות GitHub webhook API.
- הפונקציה שולחת התראה על ה-commit לערוץ Slack של הצוות.
דרכים נוספות לשילוב עם שירותים וממשקי API של צד שלישי
- משתמשים ב-Cloud Vision API של Google כדי לנתח ולתייג תמונות שהועלו.
- תרגום הודעות באמצעות Google Translate.
- משתמשים באימות מותאם אישית כדי להכניס משתמשים לחשבון.
- שליחת בקשה ל-webhook בכתיבה של Realtime Database.
- הפעלת חיפוש טקסט מלא ברכיבי Realtime Database.
- לעבד תשלומים ממשתמשים.
- ליצור מענה אוטומטי לשיחות טלפון ולהודעות SMS.
- ליצור צ'אט בוט באמצעות Google Assistant.