במדריך למתחילים הזה נסביר איך להגדיר את Firestore Enterprise, להוסיף נתונים ואז לראות את הנתונים שהוספתם במסוף Firebase באמצעות ספריות לקוח של שרת ל-C#, Go, Java, Node.js, PHP, Python ו-Ruby.
אתם יכולים להשתמש בספריות הלקוח האלה כדי להגדיר סביבות שרת עם הרשאות וגישה מלאה למסד הנתונים.
יצירת מסד נתונים של Cloud Firestore
אם עדיין לא יצרתם פרויקט ב-Firebase: במסוף Firebase, לוחצים על Add project ופועלים לפי ההוראות במסך כדי ליצור פרויקט ב-Firebase או להוסיף שירותי Firebase לפרויקט קיים ב-Google Cloud.
בחלונית שמימין, עוברים אל Databases & Storage > Firestore.
לוחצים על Create database.
בוחרים מיקום למסד הנתונים.
אם אתם לא יכולים לבחור מיקום, סימן שכבר הגדרתם את המיקום של משאבי ברירת המחדל של Google Cloud בפרויקט. לחלק מהמשאבים בפרויקט (כמו מכונת ברירת המחדל של Cloud Firestore) יש תלות משותפת במיקום, ואפשר להגדיר את המיקום שלהם במהלך יצירת הפרויקט או במהלך הגדרת שירות אחר שחולק את התלות הזו במיקום.
צריך לבחור מצב התחלה ל-Cloud Firestore Security Rules:
- מצב בדיקה
מתאים לתחילת העבודה עם ספריות הלקוח לנייד ולאינטרנט, אבל מאפשר לכל אחד לקרוא את הנתונים שלכם ולשכתב אותם. אחרי הבדיקה, חשוב לעיין בקטע אבטחת הנתונים.
כדי להתחיל להשתמש ב-SDK לאינטרנט, לפלטפורמות של Apple או ל-Android, בוחרים במצב בדיקה.
- מצב ייצור
דוחה את כל פעולות הקריאה והכתיבה מלקוחות בנייד ובאינטרנט. שרתי האפליקציות המאומתים (C#, Go, Java, Node.js, PHP, Python או Ruby) עדיין יכולים לגשת למסד הנתונים.
כדי להתחיל להשתמש בספריית הלקוח של השרת ב-C#, ב-Go, ב-Java, ב-Node.js, ב-PHP, ב-Python או ב-Ruby, בוחרים במצב ייצור.
הקבוצה הראשונית של Cloud Firestore Security Rules תחול על מסד הנתונים שמוגדר כברירת מחדל ב-Cloud Firestore. אם יוצרים כמה מסדי נתונים לפרויקט, אפשר לפרוס את Cloud Firestore Security Rules לכל מסד נתונים.
לוחצים על יצירה.
כשמפעילים את Cloud Firestore, ה-API מופעל גם ב-Cloud API Manager.
הגדרת סביבת הפיתוח
מוסיפים לאפליקציה את התלויות וספריות הלקוח הנדרשות.
Java
- מוסיפים את ה-SDK של Firebase לאדמינים לאפליקציה:
-
שימוש ב-Gradle:
implementation 'com.google.firebase:firebase-admin:9.11.0'
-
שימוש ב-Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.11.0</version> </dependency>
-
שימוש ב-Gradle:
- כדי להפעיל את Cloud Firestore עם פרטי הכניסה המתאימים בסביבה שלכם, צריך לפעול לפי ההוראות הבאות.
Python
- מוסיפים את ה-SDK של Firebase לאדמינים לאפליקציית Python:
pip install --upgrade firebase-admin
- כדי להפעיל את Cloud Firestore עם פרטי הכניסה המתאימים בסביבה שלכם, צריך לפעול לפי ההוראות הבאות.
Node.js
-
מוסיפים את ה-SDK של Firebase לאדמינים לאפליקציה:
npm install firebase-admin --save
- כדי להפעיל את Cloud Firestore עם פרטי הכניסה המתאימים בסביבה שלכם, צריך לפעול לפי ההוראות הבאות.
המשך
- מוסיפים את SDK של Firebase לאדמינים לאפליקציית Go:
go get firebase.google.com/go
- כדי להפעיל את Cloud Firestore עם פרטי הכניסה המתאימים בסביבה שלכם, צריך לפעול לפי ההוראות הבאות.
PHP
-
ספריות הלקוח של שרת Cloud Firestore (Java, Node.js, Python, Go, PHP, C# ו-Ruby) משתמשות בApplication Default Credentials לצורך אימות.
-
כדי לבצע אימות מסביבת הפיתוח, מגדירים את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALSכך שיצביע לקובץ מפתח של חשבון שירות בפורמט JSON. אפשר ליצור קובץ מפתח בדף Credentials בקונסולה לממשקי API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - בסביבת הייצור, לא צריך לבצע אימות אם מריצים את האפליקציה ב-App Engine או ב-Compute Engine, באמצעות אותו פרויקט שמשמש ל-Cloud Firestore. אם לא, מגדירים חשבון שירות.
-
כדי לבצע אימות מסביבת הפיתוח, מגדירים את משתנה הסביבה
- מתקינים ומפעילים את תוסף gRPC ל-PHP, שנדרש כדי להשתמש בספריית הלקוח.
-
מוסיפים לאפליקציה את ספריית Cloud Firestore PHP:
composer require google/cloud-firestore
Ruby
-
ספריות הלקוח של שרת Cloud Firestore (Java, Node.js, Python, Go, PHP, C# ו-Ruby) משתמשות בApplication Default Credentials לצורך אימות.
-
כדי לבצע אימות מסביבת הפיתוח, מגדירים את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALSכך שיצביע על קובץ מפתח של חשבון שירות בפורמט JSON. אפשר ליצור קובץ מפתח בדף Credentials בקונסולה לממשקי API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- בסביבת הייצור, לא צריך לבצע אימות אם מריצים את האפליקציה ב-App Engine או ב-Compute Engine, באמצעות אותו פרויקט שמשמש ל-Cloud Firestore. אם לא, מגדירים חשבון שירות.
-
כדי לבצע אימות מסביבת הפיתוח, מגדירים את משתנה הסביבה
-
מוסיפים את ספריית Cloud Firestore Ruby לאפליקציה ב-
Gemfile:gem "google-cloud-firestore"
-
מתקינים את יחסי התלות מהקובץ
Gemfileבאמצעות:bundle install
(אופציונלי) יצירת אב טיפוס ובדיקה באמצעות Firebase Local Emulator Suite
לפני שנסביר איך האפליקציה שלכם כותבת ל-Cloud Firestore וקוראת ממנו, נציג למפתחים לנייד קבוצת כלים שבהם אפשר להשתמש כדי ליצור אב טיפוס ולבדוק את הפונקציונליות של Cloud Firestore: Firebase Local Emulator Suite. אם אתם מנסים מודלים שונים של נתונים, מבצעים אופטימיזציה של כללי האבטחה או מחפשים את הדרך הכי משתלמת לתקשר עם הקצה העורפי, כדאי לעבוד באופן מקומי בלי לפרוס שירותים פעילים.
אמולטור Cloud Firestore הוא חלק מ-Local Emulator Suite, שמאפשר לאפליקציה שלכם לקיים אינטראקציה עם התוכן וההגדרות של מסד הנתונים המדומה, וגם עם משאבי הפרויקט המדומים (פונקציות, מסדי נתונים אחרים וכללי אבטחה).
כדי להשתמש באמולטור של Cloud Firestore, צריך לבצע כמה שלבים:
- הוספת שורת קוד להגדרת הבדיקה של האפליקציה כדי להתחבר לאמולטור.
- מפעילים את הפקודה
firebase emulators:startמהשורש של ספריית הפרויקט המקומית. - מבצעים קריאות מקוד האב טיפוס של האפליקציה באמצעות ערכת SDK של פלטפורמת Cloud Firestore כרגיל.
הדרכה מפורטת שכוללת את Cloud Firestore ו-Cloud Functions זמינה. כדאי גם לעיין במבוא ל-Local Emulator Suite.
מפעילים את Cloud Firestore
מאתחלים מכונה של Cloud Firestore:
Java
ה-SDK של Cloud Firestore מאותחל בדרכים שונות בהתאם לסביבה שלכם. אלה השיטות הכי נפוצות. למידע נוסף, קראו את המאמר הפעלת ה-SDK לאדמינים.import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use the application default credentials GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setProjectId(projectId) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
כדי להשתמש ב-SDK של Firebase לאדמינים בשרת שלכם, אתם צריכים להשתמש בחשבון שירות.
נכנסים לדף IAM & admin > Service accounts במסוף Google Cloud. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-JSON. לאחר מכן, משתמשים בקובץ כדי להפעיל את ה-SDK:
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Python
ה-SDK של Cloud Firestore מאותחל בדרכים שונות בהתאם לסביבה שלכם. אלה השיטות הכי נפוצות. למידע נוסף, קראו את המאמר אתחול ה-Admin SDK.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
אפשר גם להשתמש בפרטי כניסה קיימים שמוגדרים כברירת מחדל באפליקציה כדי להפעיל את ה-SDK.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
כדי להשתמש ב-SDK של Firebase לאדמינים בשרת שלכם, אתם צריכים להשתמש בחשבון שירות.
נכנסים לדף IAM & admin > Service accounts במסוף Google Cloud. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-JSON. לאחר מכן, משתמשים בקובץ כדי להפעיל את ה-SDK:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
ה-SDK של Cloud Firestore מאותחל בדרכים שונות בהתאם לסביבה שלכם. אלה השיטות הכי נפוצות. למידע נוסף, קראו את המאמר הפעלת ה-SDK לאדמינים.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
אפשר גם להשתמש בפרטי כניסה קיימים שמוגדרים כברירת מחדל באפליקציה כדי להפעיל את ה-SDK.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore_async.client()
כדי להשתמש ב-SDK של Firebase לאדמינים בשרת שלכם, אתם צריכים להשתמש בחשבון שירות.
במסוף Google Cloud, נכנסים לדף IAM & admin > Service accounts. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-JSON. לאחר מכן, משתמשים בקובץ כדי להפעיל את ה-SDK:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
Node.js
ה-SDK של Cloud Firestore מאותחל בדרכים שונות בהתאם לסביבה שלכם. אלה השיטות הכי נפוצות. למידע נוסף, קראו את המאמר הפעלת ה-SDK לאדמינים.-
הפעלה ב-Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
הפעלה ב-Google Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
הפעלה בשרת שלכם
כדי להשתמש ב-SDK של Firebase לאדמינים בשרת שלכם (או בכל סביבת Node.js אחרת), אתם צריכים להשתמש בחשבון שירות. במסוף Google Cloud, נכנסים לדף IAM & admin > Service accounts. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-JSON. ואז משתמשים בקובץ כדי להפעיל את ה-SDK:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
המשך
ה-SDK של Cloud Firestore מאותחל בדרכים שונות בהתאם לסביבה שלכם. אלה השיטות הכי נפוצות. למידע נוסף, קראו את המאמר אתחול ה-Admin SDK.import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use the application default credentials ctx := context.Background() conf := &firebase.Config{ProjectID: projectID} app, err := firebase.NewApp(ctx, conf) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
כדי להשתמש ב-SDK של Firebase לאדמינים בשרת שלכם, אתם צריכים להשתמש בחשבון שירות.
במסוף Google Cloud, נכנסים לדף IAM & admin > Service accounts. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-JSON. לאחר מכן, משתמשים בקובץ כדי להפעיל את ה-SDK:
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
מידע נוסף על התקנה ויצירה של לקוח Cloud Firestore זמין במאמר ספריות לקוח של Cloud Firestore.
C#
C#
מידע נוסף על התקנה ויצירה של לקוח Cloud Firestore זמין במאמר ספריות לקוח של Cloud Firestore.
Ruby
הוספת נתונים
ב-Cloud Firestore הנתונים מאוחסנים במסמכים, שמאוחסנים באוספים. Cloud Firestore יוצר אוספים ומסמכים באופן משתמע בפעם הראשונה שמוסיפים נתונים למסמך. אין צורך ליצור אוספים או מסמכים באופן מפורש.
יוצרים אוסף חדש ומסמך באמצעות הקוד לדוגמה הבא.
Java
Python
Python
Node.js
המשך
PHP
PHP
מידע נוסף על התקנה ויצירה של לקוח Cloud Firestore זמין במאמר ספריות לקוח של Cloud Firestore.
C#
Ruby
עכשיו צריך להוסיף עוד מסמך לאוסף users. שימו לב שהמסמך הזה כולל צמד מפתח/ערך (שם אמצעי) שלא מופיע במסמך הראשון. מסמכים באוסף יכולים להכיל קבוצות שונות של מידע.
Java
Python
Python
Node.js
המשך
PHP
PHP
מידע נוסף על התקנה ויצירה של לקוח Cloud Firestore זמין במאמר ספריות לקוח של Cloud Firestore.
C#
Ruby
קריאת נתונים
כדי לוודא במהירות שהוספתם נתונים ל-Cloud Firestore, אתם יכולים להשתמש בכלי להצגת נתונים במסוף Firebase.
אפשר גם להשתמש ב-method "get" כדי לאחזר את כל האוסף.
Java
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
Node.js
המשך
PHP
PHP
מידע נוסף על התקנה ויצירה של לקוח Cloud Firestore זמין במאמר ספריות לקוח של Cloud Firestore.
C#
Ruby
השלבים הבאים
כדי להעמיק את הידע שלכם, אתם יכולים לקרוא על הנושאים הבאים:
- מודל נתונים – מידע נוסף על מבנה הנתונים ב-Cloud Firestore, כולל נתונים היררכיים ואוספי משנה.
- הוספת נתונים – מידע נוסף על יצירה ועדכון של נתונים ב-Cloud Firestore.
- אחזור נתונים – מידע נוסף על אחזור נתונים.
- ביצוע שאילתות פשוטות ומורכבות – איך מריצים שאילתות פשוטות ומורכבות.
- סידור והגבלת שאילתות איך לסדר ולהגביל את הנתונים שמוחזרים על ידי השאילתות.