השתמש באמולטור ההרחבות כדי להעריך הרחבות

לפני השימוש באמולטור ההרחבות עם האפליקציה שלך, ודא שאתה מבין את זרימת העבודה הכוללת של Firebase Local Emulator Suite , ושאתה מתקין ומגדיר את Local Emulator Suite וסוקר את פקודות ה-CLI שלה.

מדריך זה גם מניח שאתה מכיר את תוספי Firebase וכיצד להשתמש בהם באפליקציות Firebase שלך .

מה אני יכול לעשות עם אמולטור ההרחבות?

עם אמולטור ההרחבות, אתה יכול להתקין ולנהל תוספים בסביבה מקומית בטוחה ולהבין טוב יותר את היכולות שלהם תוך מזעור עלויות החיוב. האמולטור מפעיל את הפונקציות של התוסף שלך באופן מקומי, כולל פונקציות המופעלות על רקע אירועים באמצעות האמולטורים עבור Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication ו-Pub/Sub, ופונקציות המופעלות על ידי Eventarc המיושמות ב-Cloud Functions v2.

בחר פרויקט Firebase

Firebase Local Emulator Suite מחקה מוצרים עבור פרויקט Firebase יחיד.

כדי לבחור את הפרויקט לשימוש, לפני שתפעיל את האמולטורים, ב-CLI הפעל firebase use בספריית העבודה שלך. לחלופין, אתה יכול להעביר את דגל --project לכל פקודת אמולטור.

Local Emulator Suite תומכת באמולציה של פרויקטים אמיתיים של Firebase ופרויקטי הדגמה .

סוג פרויקט מאפיינים השתמש עם אמולטורים
אמיתי

פרויקט Firebase אמיתי הוא פרויקט שיצרת והגדרת (ככל הנראה דרך מסוף Firebase).

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

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

עבור כל מוצר שאתה לא מחקה, האפליקציות והקוד שלך יתקשרו עם המשאב החי (מופע מסד נתונים, דלי אחסון, פונקציה וכו').

הַדגָמָה

לפרויקט הדגמה של Firebase אין תצורת Firebase אמיתית ואין משאבים חיים. פרויקטים אלה נגישים בדרך כלל באמצעות מעבדות קוד או מדריכים אחרים.

מזהי פרויקטים עבור פרויקטי הדגמה כוללים את קידומת demo- .

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

אנו ממליצים להשתמש בפרויקטי הדגמה בכל מקום אפשרי. ההטבות כוללות:

  • הגדרה קלה יותר, מכיוון שאתה יכול להפעיל את האמולטורים מבלי ליצור פרויקט Firebase
  • בטיחות חזקה יותר, מכיוון שאם הקוד שלך מפעיל בטעות משאבים לא-דמיית (ייצור), אין סיכוי לשינוי נתונים, שימוש וחיוב
  • תמיכה במצב לא מקוון טוב יותר, מכיוון שאין צורך לגשת לאינטרנט כדי להוריד את תצורת ה-SDK שלך.

התקן והעריך הרחבה

השימוש באמולטור ההרחבות כדי להעריך אם הרחבה עונה על הצרכים שלך הוא פשוט.

נניח שאתה מעוניין בתוסף Trigger Email ( firestore-send-email ) , אם כי זרימת העבודה הבאה מכסה כל הרחבה. בעת הפעלה עם אמולטורים מקומיים, Trigger Email יעשה שימוש אוטומטי באמולטורים של Cloud Firestore ו-Cloud Functions.

כדי להעריך תוסף באופן מקומי:

  1. הוסף את התוסף למניפסט ההרחבות המקומיות. מניפסט של הרחבות הוא רשימה של מופעי הרחבות ותצורותיהם.

    firebase ext:install --local firebase/firestore-send-email

    הפעלת הפקודה לעיל תנחה אותך להגדיר את הגרסה העדכנית ביותר של הרחבת firebase/firestore-send-email ולשמור את התצורה במניפסט, אך היא לא תפרוס את התצורה לפרויקט שלך. למידע נוסף על כך, ראה ניהול תצורת תוספים עם מניפסטים

  2. הפעל את חבילת האמולטור המקומי כפי שאתה עושה בדרך כלל.

    firebase emulators:start

כעת, באמצעות מופע התוסף firestore-send-email המופיע במניפסט שלך, Local Emulator Suite תוריד את קוד המקור של אותה תוסף ל- ~/.cache/firebase/extensions . לאחר הורדת ה-Sores, ה- Local Emulator Suite תתחיל ותוכל להפעיל כל אחת מהפונקציות המופעלות ברקע של התוסף ולחבר את האפליקציה שלך ל- Local Emulator Suite כדי לבדוק את השילוב שלהן עם האפליקציה שלך.

אתה יכול להשתמש בממשק המשתמש של Emulator Suite כדי להוסיף נתונים לאיסוף מסמכי הדוא"ל ולהגדיר משאבים עורפיים אחרים, כנדרש על ידי תוסף Trigger Email.

לחלופין, עבור סביבות בדיקה לא אינטראקטיביות כמו זרימות עבודה מתמשכות של אינטגרציה, אתה יכול לכתוב סקריפט בדיקה להערכת התוסף, שבין שאר השלבים, מאכלס את הנתונים הדרושים של Cloud Firestore ומפעיל פונקציות. לאחר מכן תפעיל את חבילת האמולטור המקומית כדי לבצע את סקריפט הבדיקה שלך:

firebase emulators:exec my-test.sh

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

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

ענן IAM

Firebase Emulator Suite לא מנסה לשכפל או לכבד כל התנהגות הקשורה ל-IAM בהפעלה. אמולטורים מצייתים לכללי האבטחה של Firebase שסופקו, אך במצבים שבהם בדרך כלל נעשה שימוש ב-IAM, למשל כדי להגדיר פונקציות ענן המפעילות חשבון שירות ובכך הרשאות, האמולטור אינו ניתן להגדרה וישתמש בחשבון הזמין בכל העולם במחשב המפתח שלך, בדומה להפעלת סקריפט מקומי ישירות.

מגבלת סוג מפעילה

נכון לעכשיו, Firebase Local Emulator Suite תומכת רק בפונקציות המופעלות בקשות HTTP, בהפעלת אירועים מותאמים אישית של Eventarc עבור הרחבות, ופונקציות מופעלות רקע של אירועים עבור Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication ו-Pub/Sub. כדי להעריך תוספים המשתמשים בסוגים אחרים של פונקציות מופעלות, עליך להתקין את התוסף שלך בפרויקט Firebase לניסיון.

מה הלאה?