ה-CLI של Firebase הוא כלי שמאפשר לנהל ולהגדיר מוצרים ושירותים של Firebase דרך שורת הפקודה.
ב-CLI יש פקודות שאפשר להשתמש בהן כדי לבצע מגוון משימות ב-Data Connect, כמו יצירת פרויקט Data Connect חדש, איפוס של ספריית עבודה מקומית תואמת, הגדרת המהדר של Data Connect, הצגת רשימה של משאבי Data Connect, יצירת ערכות SDK ללקוח ועוד.
הגדרת פקודות
הוספת Data Connect לפרויקט Firebase
firebase init
משתמשים ב-firebase init
כדי להגדיר הגדרות פרויקט מקומיות חדשות. תהליך העבודה הזה
יוצר או מעדכן קובצי תצורה של Firebase ב-
של הספרייה.
firebase init
בתהליך firebase init
מוסבר איך מגדירים שירות ומסד נתונים, ואם רוצים, גם איך מתקינים את האמולטור Data Connect ומגדירים את ערכות ה-SDK שנוצרו.
הגדרת השירות ומסד הנתונים
אם בוחרים את dataconnect
להגדרת המוצר, ב-CLI תוצג בקשה
השם והמיקום של השירות, ואם לקשר אותו או קיים Cloud SQL עבור
מכונת PostgreSQL או יוצרים מכונה חדשה.
אם יש קישור למכונה קיימת, ה-CLI בודק הגדרות תואמות, כמו כאימות IAM וכתובות IP ציבוריות.
הגדרה של Local Emulator Suite
בתהליך ב-CLI מוצעת הגדרה של אמולטורים, כולל אמולטור Data Connect.
פקודות של אמולטור Data Connect
הפעלת האמולטור של Data Connect
emulators:start/exec
firebase emulators:start/exec
צריך להשתמש בגרסה Local Emulator Suite של האמולטור Data Connect
במצב אינטראקטיבי עם start
או במצב מבוסס סקריפט ולא אינטראקטיבי עם
exec
פקודות לניהול סכימות ומחברים
הקטע הזה מכיל מאמרי עזרה על CLI לגבי פקודות שמשמשות לניהול של סכימות וממחברים.
בהסברים על תרחישים לדוגמה ושיטות מומלצות שקשורים לפקודות האלה, תוכלו לעיין במאמר המדריך לניהול הסכימה והמחברים.
פריסת משאבים של סכימה ומחבר
לפרוס
firebase deploy
הפקודה הזו פורסת משאבים לשירותי Data Connect שנוספו לאינדקס בקובץ firebase.json. העברה של סכימה מתבצעת לפי הצורך.
פקודה | תיאור | |
---|---|---|
פריסה ב-Firebase |
דגל | תיאור |
–-only dataconnect |
פריסה של סכימות ומחברים בכל שירותי Data Connect לצורך הפעולה הזו אבל לא לפרוס משאבי מוצר אחרים של Firebase. | |
–-only dataconnect:serviceId |
פריסת סכימה ומחברים לשירות Data Connect שצוין. | |
–-only dataconnect:serviceId:connectorId |
פריסת מחבר יחיד לשירות Data Connect שצוין. | |
–-only dataconnect:serviceId:schema |
פורסים את הסכימה לשירות Data Connect שצוין. |
עם הדגלים –-only
, אפשר להעביר ערכים מופרדים בפסיקים כדי לפרוס
של המשאבים הרצויים.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
הצגת רשימה של שירותים, סכימות ומחברים של Data Connect
dataconnect:services:list
firebase dataconnect:services:list
הפקודה הזו מדפיסה מידע בסיסי על השירותים, הסכימות והמחברים פרוסות בפרויקט.
השוואה והעברה של סכימות SQL
dataconnect:sql:diff
firebase dataconnect:sql:diff
הפקודה משווה בין הסכימה המקומית של שירות לסכימה הנוכחית של מסד הנתונים התואם של Cloud SQL. הפקודות יודפסו כדי להעביר את מסד הנתונים לסכימה החדשה.
פקודה | תיאור | |
---|---|---|
firebase dataconnect:sql:diff |
דגל/פרמטר | תיאור |
serviceId |
מציינים את השירות. אם לא צוין, הדפס את diff לכל השירותים ב-firebase.json. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
הפקודה הזו מחילה שינויים בסכימה המקומית על מסד הנתונים של Cloud SQL בשירות.
כשמגדירים פרויקט Data Connect מקומי חדש, עם ברירת המחדל
קובץ dataconnect.yaml
, ההתנהגות של הפקודה dataconect:sql:migrate
הוא לבקש ממך לבצע שינויים נדרשים, ולאחר מכן לבקש
לפני ביצוע השינויים. כדי לשנות את ההתנהגות הזו כך שתמיד תכלול שינויים אופציונליים או תתעלם מהם, צריך לעדכן את ההגדרה של dataconnect.yaml
, כפי שמתואר במאמר העברת סכימות במצב קפדני או תואם.
בסביבות אינטראקטיביות, ה-CLI מציג כל משפט SQL של ההעברה (ואם הוא הרסני) ומבקש את השינויים שרוצים להחיל.
העברת הדגל --force
שווה ערך לאישור כל ההנחיות.
בסביבות לא אינטראקטיביות:
- ללא
--force
, יבוצעו רק שינויים לא מזיקים. אם יש שינויים הרסניים, ה-CLI יבוטל ללא ביצוע שינויים. - עם
--force
, כל השינויים מתבצעים. אם הרשימה כוללת שינויים הרסניים, הם יודפסו ותופיע בקשה להמשיך, אלא אם הוצג הדגל--force
.
פקודה | תיאור | |
---|---|---|
firebase dataconnect:sql:migrate |
סימון | תיאור |
serviceId |
מעבירים את מסד הנתונים של השירות שצוין. מזהה השירות הוא ומשוחרר אם לפרויקט יש רק שירות אחד. | |
–-כוח |
אישור אוטומטי של הנחיות. |
בדומה לדגלים אחרים של --only
, אפשר לציין כמה שירותים ולהפריד ביניהם בפסיקים.
העברת סכימה במצב מחמיר או במצב תואם
ל-Data Connect העברות של סכימה יש שני אימותי סכימה שונים מצבים: מחמיר ותואמים. כדי לאמת מצב מחמיר, נדרשת של מסד הנתונים להתאים בדיוק לסכימת האפליקציה לפני היישום שאפשר לפרוס אותו. כדי לבצע אימות במצב תואם, סכימת מסד הנתונים צריכה להיות תואמת לסכימת האפליקציה. כלומר, רכיבים במסד הנתונים שלא משמשים את סכימה האפליקציה לא משתנים.
המצבים והשיטות המומלצות האלה לאימות סכימה להעברת סכימות הם במדריך לניהול הסכימה והמחברים
מצב האימות מוגדר באמצעות המפתח schemaValidation
בקובץ dataconnect.yaml
. אם לא מציינים את הערך של schemaValidation
, ה-CLI מחיל שינויים תואמים ומציג הודעה לפני ביצוע שינויים מחמירים. צפייה
חומר העזר בנושא הגדרות אישיות.
פקודות SDK
יצירת ערכות SDK
dataconnect:SDK:יצירה
firebase dataconnect:sdk:generate
הפקודה הזו יוצרת את ערכות ה-SDK המוקלדות שהוצהרו ב-connector.yaml.
מומלץ לעיין גם במדריכים לעבודה עם ערכות ה-SDK לאינטרנט. ערכות ה-SDK של Android וערכות ה-SDK ל-iOS.
Command | תיאור | |
---|---|---|
firebase dataconnect:sdk:generate |
דגל | תיאור |
–-watch |
התהליך ימשיך לפעול ויצירת ערכות SDK חדשות בכל פעם ששומרים
שינויים בקובצי ה-GQL של הסכימה והמחבר. אם הגנרציה תיכשל, השגיאות יודפסו ב-stdout, הקוד שנוצר לא ישתנה, והפקודה תמשיך לפעול. |
|
–-only connectorId:platform |
יצירת ערכות SDK רק לפלטפורמה אחת ולמחבר אחד. |
באמצעות הדגלים –only
אפשר להעביר ערכים המופרדים בפסיקים.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
פקודות ניהול ב-Cloud SQL
הקצאת תפקידי SQL ל-Cloud SQL
dataconnect:sql:grant
firebase dataconnect:sql:grant
הפקודה הזו מעניקה תפקיד משתמש ב-PostgreSQL למשתמש או לחשבון השירות שצוינו:
- קורא: ניתן לקרוא מטבלאות בסכימה.
- כותב: יכולת לקרוא ולכתוב בטבלאות בסכימה.
- בעלים: יכול לבצע העברות ולשנות את הסכימה. הדוגמאות הבאות הן לא תוכן מהסוג הזה: הרשאה להתקין תוספים.
Command | תיאור | |
---|---|---|
firebase dataconnect:sql:grant |
סימון/פרמטר | תיאור |
-R, --role role |
תפקיד ה-SQL שרוצים להקצות, מתוך: owner, writer או reader. | |
-E, --email email_address |
כתובת האימייל של המשתמש או חשבון השירות שאליו רוצים להקצות את התפקיד. |
אפשרויות כלליות
האפשרויות הגלובליות הבאות חלות על כל הפקודות:
--json
מעביר את פלט ה-CLI ל-JSON כדי לנתח אותו באמצעות כלים אחרים.--noninteractive
ו---interactive
מבטלים, לפי הצורך, באופן אוטומטי זיהוי של סביבות שאינן TTS.