תחילת העבודה עם Firebase Data Connect

במדריך למתחילים הזה נסביר איך לפתח את Firebase Data Connect באפליקציה.

  • מוסיפים את Firebase Data Connect לפרויקט Firebase.
  • הגדרת סביבת פיתוח שכוללת תוסף של Visual Studio Code לעבודה עם מכונה בסביבת הייצור.
  • לאחר מכן נסביר איך:
    • יוצרים סכימה לאפליקציה של ביקורות על סרטים ופורסים אותה בסביבת הייצור.
    • הגדרת שאילתות ומוטציות לסכימה.
    • יצירת ערכות SDK עם סוגים מוגדרים ושימוש בהן באפליקציה
    • פורסים את הסכימה, השאילתה והנתונים הסופיים בסביבת הייצור.

דרישות מוקדמות

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

קישור לפרויקט Firebase

  1. אם עדיין לא עשיתם זאת, יוצרים פרויקט ב-Firebase.
    1. במסוף Firebase, לוחצים על Add project ופועלים לפי ההוראות במסך.
  2. עוברים לקטע Data Connect במסוף Firebase ופועלים לפי תהליך העבודה להגדרת המוצר.
  3. שדרוג הפרויקט לתוכנית Blaze. כך תוכלו ליצור מכונה של Cloud SQL ל-PostgreSQL.

  4. בוחרים מיקום למסד הנתונים של CloudSQL for PostgreSQL.

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

  6. פועלים לפי תהליך ההגדרה שנותר ולוחצים על סיום.

בחירת סביבת פיתוח והגדרתה

Data Connect תומך בשתי חוויות פיתוח:

  • אם אתם מפתחים ב-Kotlin ל-Android, ב-iOS, ב-Flutter או ב-אינטרנט, תוכלו להשתמש ב-VS Code development כדי לתכנן ולבדוק סכימות ופעולות באופן מקומי, תוך חיבור למכונה של Cloud SQL for PostgreSQL.
  • מפתחי אינטרנט יכולים להשתמש ב-IDX Development כדי ליצור אב טיפוס בסביבת עבודה של IDX באמצעות תבנית IDX מוגדרת מראש עם PostgreSQL, תוסף VS Code עם אמולטור Data Connect וקוד לקוח למתחילים. מידע נוסף זמין באתר של Project IDX.

המדריך למתחילים הזה מתמקד בתהליך הפיתוח של תוספים ל-VS Code. כדי להמשיך:

  1. יוצרים ספרייה חדשה לפרויקט המקומי.
  2. פותחים את VS Code בספרייה החדשה.
  3. מתקינים את התוסף Firebase Data Connect מ-Visual Studio Code Marketplace.

הגדרת הפרויקט המקומי

מתקינים את ה-CLI לפי ההוראות הרגילות. אם כבר התקנתם את npm, מריצים את הפקודה הבאה:

npm install -g firebase-tools

הגדרת ספריית הפרויקט

כדי להגדיר את הפרויקט המקומי, צריך לאתחל את ספריית הפרויקט.

בחלונית הימנית של VS Code, לוחצים על סמל Firebase כדי לפתוח את ממשק המשתמש של התוסף של Firebase ל-VS Code.

  1. לוחצים על הלחצן כניסה באמצעות חשבון Google.
  2. לוחצים על הלחצן Connect a Firebase project ובוחרים את הפרויקט שיצרתם קודם במסוף.
  3. לוחצים על הלחצן Run firebase init.
  4. אם הפרויקט שלכם נמצא בתוכנית Blaze, בתשובה לשאלה "Would you like to configure your backend resources now?", עליכם להשיב "Yes".
  5. לוחצים על הלחצן Start emulators.

יצירת סכימה

בספרייה של פרויקט Firebase, בקובץ /dataconnect/schema/schema.gql, מתחילים להגדיר סכימה של GraphQL שכוללת סרטים.

סרט

ב-Data Connect, שדות GraphQL ממופים לעמודות. הסוג Movie כולל את id, ‏ title, ‏ imageUrl ו-genre. Data Connect מזהה את סוגי הנתונים הפרימיטיביים String ו-UUID.

מעתיקים את קטע הקוד הבא או מסירים את ההערות מהשורות המתאימות בקובץ.

# File `/dataconnect/schema/schema.gql`

# By default, a UUID id key will be created by default as primary key.
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

MovieMetadata

עכשיו, כשיש לכם סרטים, אתם יכולים ליצור מודל למטא-נתונים של סרטים.

מעתיקים את קטע הקוד הבא או מסירים את ההערות מהשורות המתאימות בקובץ.

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

שימו לב שהשדה movie ממופה לסוג Movie. Data Connect מבינה שמדובר בקשר בין Movie לבין MovieMetadata, ותנהל את הקשר הזה בשבילך.

מידע נוסף על סכימות של Data Connect זמין במסמכי התיעוד

פריסה של הסכימה בסביבת הייצור

אם אתם משתמשים בתוסף Firebase VS Code כדי לעבוד עם מסד הנתונים בסביבת הייצור, עליכם לפרוס את הסכימה לפני שתמשיכו. אחרי שפורסים את הסכימה במסד הנתונים בסביבת הייצור, אמורה להיות אפשרות להציג את הסכימה במסוף.

  1. אפשר להשתמש בתוסף Data Connect ל-VS Code כדי לפרוס.
    • בממשק המשתמש של התוסף, מתחת לחלונית Firebase Data Connect, לוחצים על פריסה בסביבת הייצור.
  2. יכול להיות שתצטרכו לבדוק את השינויים בסכימה ולאשר שינויים שעלולים להזיק. תתבקשו:
    • בדיקת שינויים בסכימה באמצעות firebase dataconnect:sql:diff
    • כשמרוצים מהשינויים, מחילים אותם באמצעות התהליך שמתחיל ב-firebase dataconnect:sql:migrate.

הוספת נתונים לטבלאות

בלוח העריכה של VS Code, ניתן לראות שלחצני CodeLens מופיעים מעל סוגי GraphQL ב-/dataconnect/schema/schema.gql. מאחר שהפרסתם את הסכימה בסביבת הייצור, תוכלו להשתמש בלחצנים Add data ו-Run (Production) כדי להוסיף נתונים למסד הנתונים בקצה העורפי.

כדי להוסיף רשומות לטבלה Movie:

  1. ב-schema.gql, לוחצים על הלחצן Add data מעל הצהרת הסוג Movie.
    לחצן הוספת נתונים של Code Lens ל-Firebase Data Connect
  2. בקובץ Movie_insert.gql שנוצר, מזינים את הנתונים בתוך הקוד לארבעת השדות.
  3. לוחצים על הלחצן הפעלה (ייצור).
    לחצן ההפעלה של Code Lens ל-Firebase Data Connect
  4. חוזרים על השלבים הקודמים כדי להוסיף רשומה לטבלה MovieMetadata, ומספקים את הערך של id של הסרט בשדה movieId, כפי שמופיע בהנחיה במונטיזציה (mutation) שנוצרה של MovieMetadata_insert.

כדי לוודא שהנתונים נוספו במהירות:

  1. חזרה ב-schema.gql, לוחצים על הלחצן Read data מעל להצהרת הטיפוס Movie.
  2. בקובץ Movie_read.gql שנוצר, לוחצים על הלחצן Run (Production) כדי להריץ את השאילתה.

מידע נוסף על מוטציות של Data Connect זמין במסמכי התיעוד

הגדרת השאילתה

עכשיו החלק הכיפי – שאילתות. כמפתחים, אתם רגילים לכתוב שאילתות SQL ולא שאילתות GraphQL, ולכן יכול להיות שבהתחלה זה ירגיש קצת שונה. עם זאת, GraphQL הוא בטוח יותר ובטוח יותר בסוג מסוים מאשר ב-SQL גולמי. התוסף שלנו ל-VS Code מקל על חוויית הפיתוח.

מתחילים לערוך את הקובץ /dataconnect/connector/queries.gql. אם רוצים לקבל את כל הסרטים, אפשר להשתמש בשאילתה כמו זו.

# File `/dataconnect/connector/queries.gql`

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

מריצים את השאילתה באמצעות לחצן CodeLens הקרוב.

מידע נוסף על שאילתות של Data Connect

יצירת ערכות SDK ושימוש בהן באפליקציה

  1. לוחצים על הלחצן Add SDK to app (הוספת ה-SDK לאפליקציה).
  2. בתיבת הדו-שיח שמופיעה, בוחרים ספרייה שמכילה קוד של האפליקציה. Data Connect. קוד ה-SDK ייוצר ויישמר שם.

  3. בחרו את פלטפורמת האפליקציה ושימו לב שקוד ה-SDK נוצר מיד בספרייה שבחרתם.

איך משתמשים ב-SDK שנוצר כדי להפעיל שאילתות ומוטציות מאפליקציות לקוח (אינטרנט, Android,‏ iOS, ‏ Flutter).

פריסה של הסכימה והשאילתה בסביבת הייצור

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

אם משתמשים בתוסף של Firebase ל-VS Code לפריסה, לוחצים על הלחצן Deploy to production.

אחרי הפריסה, נכנסים למסוף Firebase כדי לוודא שהסכימה, הפעולות והנתונים הועלו לענן. אתם אמורים לראות את הסכימה ולהריץ את הפעולות במסוף. המכונה של Cloud SQL for PostgreSQL תתעדכן עם הסכימה והנתונים שנוצרו והופעלו.

מידע נוסף על השימוש במהנתח Data Connect זמין במסמכי התיעוד

השלבים הבאים

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