תמיכה ניסיונית ב-Dart ב-Cloud Functions for Firebase מאפשרת לכם ליצור אפליקציות full-stack באמצעות Flutter ו-Dart. תקשורת עם שירותים אחרים של Firebase באמצעות Firebase Admin Dart SDK החדש.
כדי להתחיל להשתמש בפונקציות Dart, צריך לבצע את משימות ההגדרה במדריך הזה ואז להמשיך ולבדוק את פונקציות ה-HTTP והפונקציות שניתן להפעיל ב-Dart.
דרישות מוקדמות
- Dart SDK בגרסה 3.9 ואילך
- Firebase CLI (גרסה 15.15.0 ומעלה)
בודקים שיש לכם גרסה של Firebase CLI שתומכת ב-Dart ב-Cloud Functions for Firebase עם הדגל --version:
`firebase --version`
הפעלת הניסוי ב-CLI Firebase
firebase experiments:enable dartfunctions
אתחול הפרויקט
הרצה:
firebase init functionsבוחרים ב-Dart כשפה.
כשמופיעה השאלה "Do you want to install dependencies now?" (האם ברצונך להתקין עכשיו תלות?), עונים "Yes" (כן).
צפייה בקוד הפונקציה
צופים בקוד שנוצר ב-functions/bin/server.dart (או בנקודת הכניסה). הקוד הזה מדגים פונקציית HTTP פשוטה.
שימו לב שבקוד לדוגמה, מספר המכונות המקסימלי לפונקציה helloWorld מוגדר ל-10 באמצעות הבונה HttpsOptions. מידע נוסף על אפשרויות זמן הריצה זמין במאמר הגדרת אפשרויות זמן הריצה.
בדיקה מקומית
firebase emulators:start
אחרי שמפעילים את Local Emulator Suite, תופיע שורת יומן כמו functions http function initialized
(http://127.0.0.1:5001/<url>). טוענים את כתובת ה-URL הזו בדפדפן כדי להפעיל את פונקציית Dart שמופעלת באופן מקומי.
אם עורכים את קוד Dart, Firebase Local Emulator Suite יזהה את השינוי ויטען מחדש את הפונקציה באופן אוטומטי.
כלים לפריסה
firebase deploy --only functions
תהליך הפריסה של Dart שונה מזה של פונקציות Node.js או Python. במקום להעלות את קוד המקור כדי ליצור גרסת build ב-Cloud Build, Firebase CLI מריץ שלב קומפילציה של Dart במכונת הפיתוח ומעלה את הקובץ הבינארי שנוצר ישירות לפונקציות Cloud Run.
בסיום הפריסה, תופיע שורת יומן כמו Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
טוענים את כתובת ה-URL הזו בדפדפן כדי להפעיל את פונקציית Dart החדשה שהופעלה.
השלבים הבאים
- מגדירים אפשרויות הגדרה כמו מספר מופעים מינימלי.
- מידע נוסף על פונקציות HTTP ועל פונקציות שאפשר להפעיל
- פועלים לפי ההוראות ב-Codelab בנושא פונקציות Dart Dart Functions codelab
- אפשר להשתמש ב-Dart Admin SDK הניסיוני כדי ליצור אינטראקציה עם שירותים אחרים של Firebase, כמו Cloud Firestore, מתוך הפונקציה
- בנוסף ל
onRequestפונקציות HTTP, אפשר לנסות דוגמה שלonCallאו דוגמה שלonCallעם סטרימינג כדי להפעיל פונקציות ישירות מהאפליקציה (שימו לב למגבלה המיוחדת בנוגע לשיטת ההפעלה).
מגבלות
- אפשר לפרוס את טריגר
onCall, אבל אי אפשר לקרוא לו מ-SDK של לקוח באמצעות שיטות כמו httpsCallable, שמזהות פונקציות לפי שם. במקום זאת, אפשר להשתמש בשיטות כמו httpsCallableFromURL ולהעביר את כתובת ה-URL המלאה של פונקציית Cloud Run. - אפשר להפעיל טריגרים אחרים, כמו טריגרים של Firestore, בחבילת האמולטור המקומי, אבל אי אפשר לפרוס אותם.
- במהלך ההשקה הניסיונית, פונקציות Dart לא מוצגות במסוף Firebase. אפשר לראות פונקציות של Dart בדף הפונקציות של מסוף Cloud.Cloud Run
אם נתקלתם בבעיות במהלך העבודה עם פונקציות Dart, מומלץ לשלוח לצוות דוח כדי לעזור לנו לשפר ולהרחיב את Dart SDK הניסיוני.