תחילת העבודה עם Firebase Data Connect באופן מקומי

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

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

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

כדי להשתמש במדריך למתחילים הזה, צריך את הדברים הבאים:

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

תצטרכו את Visual Studio Code כדי לנהל את הסכימה ולהגדיר שאילתות שישמשו את האפליקציה. ערכת SDK עם סוגים מוגדרים תיווצר עבורכם באופן אוטומטי:

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

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

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

  1. לוחצים על הלחצן כניסה באמצעות חשבון Google.
  2. לוחצים על הלחצן Connect a Firebase project ובוחרים את הפרויקט שיצרתם קודם במסוף.
  3. לוחצים על הלחצן Run firebase init.
  4. לוחצים על הלחצן Start emulators.

יצירת סכימה

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

סרט

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

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

# By default, a UUID id key will be created by default as primary key.
# If you want to specify a primary key, say title, which you can do through
# the @table(key: "title") directive
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 זמין במסמכי התיעוד

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

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

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

  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 (Local) כדי להריץ את השאילתה.

מידע נוסף על מוטציות של 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 הקרוב.

תכונה מעניינת מאוד היא היכולת להתייחס ליחסים של מסד הנתונים כגרף. מכיוון שב-MovieMetadata יש שדה movie שמפנה לסרט, תוכלו למקם בתוך השדה ולקבל מידע על פרטי הסרט. נסו להוסיף את הסוג movieMetadata_on_movie שנוצר לשאילתה ListMovies.

query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
    movieMetadata_on_movie {
        rating
    }
  }
}

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

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

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

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

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

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

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

אחרי שתסיימו את ההגדרה המקומית באפליקציה, תוכלו לפרוס את הסכימה, הנתונים והשאילתות בענן. כדי להגדיר מכונה של Cloud SQL, צריך מינוי Blaze.

  1. עוברים לקטע Data Connect במסוף Firebase ויוצרים מכונה של Cloud SQL לניסיון בחינם.

  2. במסוף המובנה של VS Code, מריצים את הפקודה firebase init dataconnect ובוחרים את Region/Service ID שיצרתם זה עתה במסוף.

  3. בוחרים באפשרות Y כשמופיעה ההנחיה File dataconnect/dataconnect.yaml כבר קיים, Overwrite?.

  4. בממשק המשתמש של התוסף של Data Connect ל-VS Code, לוחצים על הלחצן פריסה בסביבת הייצור.

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

השלבים הבאים

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

  • הוספת נתונים למסד הנתונים, בדיקה ושינוי של הסכימות ומעקב אחרי שירות Data Connect במסוף Firebase.

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