תמיכה ניסיונית ב-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בחר דארט כשפה שלך.
כשמופיעה השאלה "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
- השתמש בניסויחֵץAdmin SDK לתקשר עם אחריםFirebase שירותים, כמוCloud Firestore, מהפונקציה שלך
- בנוסף ל
onRequestפונקציות HTTP, אפשר לנסות דוגמה שלonCallאו דוגמה שלonCallעם סטרימינג כדי להפעיל פונקציות ישירות מהאפליקציה (שימו לב למגבלה המיוחדת בנוגע לשיטת ההפעלה).
מגבלות
- אפשר לפרוס את טריגר
onCall, אבל אי אפשר לקרוא לו מ-SDK של לקוח באמצעות מתודות כמו httpsCallable, שמזהות פונקציות לפי שם. במקום זאת, אפשר להשתמש בשיטות כמו httpsCallableFromURL ולהעביר את כתובת ה-URL המלאה של פונקציית Cloud Run. - טריגרים אחרים, כגון טריגרים של Firestore, ניתנים להרצה בסוויטת האמולטור המקומית, אך לא ניתן לפרוס אותם.
- במהלך ההשקה הניסיונית, פונקציות Dart לא מוצגות במסוף Firebase. ניתן לצפות בפונקציות Dart בדף הפונקציות Cloud Run של קונסולת Cloud במקום זאת.
אם אתם מגלים בעיות במהלך עבודה עם פונקציות Dart, אתם מוזמנים לשלוח לצוות דוח כדי לעזור לנו לשפר ולהרחיב את ערכת פיתוח התוכנה הניסיונית של Dart.