במדריך הזה מוסבר איך להגדיר את מהדורת Firestore Enterprise, להוסיף נתונים ואז לצפות בנתונים שהוספתם במסוף Firebase באמצעות ספריות לקוח של שרתים בשפות C#, Go, Java, Node.js, PHP, Python ו-Ruby.
אפשר להשתמש בספריות הלקוח האלה כדי להגדיר סביבות שרת עם הרשאות מלאות לגישה למסד הנתונים.
יצירת מסד נתונים של Cloud Firestore
אם עדיין לא עשיתם זאת, אתם צריכים ליצור פרויקט Firebase: במסוף Firebase, לוחצים על Add project (הוספת פרויקט) ופועלים לפי ההוראות שמופיעות במסך כדי ליצור פרויקט Firebase או כדי להוסיף שירותי Firebase לפרויקט Google Cloud קיים.
בחלונית הימנית, עוברים אל Databases & Storage (מסדי נתונים ואחסון) > Firestore.
לוחצים על יצירת מסד נתונים.
בוחרים מיקום למסד הנתונים.
אם אי אפשר לבחור מיקום, סימן שהמיקום של משאבי ברירת המחדלGoogle Cloud בפרויקט כבר הוגדר. חלק מהמשאבים בפרויקט (כמו מופע ברירת המחדל Cloud Firestore) חולקים תלות משותפת במיקום, ואפשר להגדיר את המיקום שלהם במהלך יצירת הפרויקט או כשמגדירים שירות אחר שחולק את התלות הזו במיקום.
בוחרים מצב התחלתי ל-Cloud Firestore Security Rules:
- מצב בדיקה
מתאים להתחלת העבודה עם ספריות לקוח לאינטרנט ולנייד, אבל מאפשר לכל אחד לקרוא ולשכתב את הנתונים. אחרי הבדיקה, חשוב לעיין בסעיף הגנה על הנתונים.
כדי להתחיל להשתמש ב-SDK לאתרים, לפלטפורמות של אפל או ל-Android SDK, בוחרים במצב בדיקה.
- מצב הפקה
דוחה את כל פעולות הקריאה והכתיבה מלקוחות ניידים ומלקוחות אינטרנט. שרתי האפליקציות המאומתים שלכם (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, הוא מופעל גם ב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) משתמשות ב-Google Application Default Credentials לאימות.
-
כדי לבצע אימות מסביבת הפיתוח, מגדירים את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALSכך שיצביע על קובץ מפתח של חשבון שירות בפורמט JSON. אפשר ליצור קובץ מפתח בדף פרטי הכניסה של קונסולה לממשקי 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) משתמשות ב-Google Application Default Credentials לאימות.
-
כדי לבצע אימות מסביבת הפיתוח, מגדירים את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALSכך שיצביע על קובץ מפתח של חשבון שירות בפורמט JSON. אפשר ליצור קובץ מפתח בדף פרטי הכניסה של קונסולה לממשקי 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. אם אתם מנסים מודלים שונים של נתונים, מבצעים אופטימיזציה של כללי האבטחה או מנסים למצוא את הדרך הכי חסכונית לאינטראקציה עם ה-Back-end, כדאי לעבוד באופן מקומי בלי לפרוס שירותים פעילים.
Cloud Firestoreאמולטור הוא חלק מ-Local Emulator Suite, שמאפשר לאפליקציה שלכם ליצור אינטראקציה עם התוכן וההגדרות של מסד הנתונים המדומה, וגם עם משאבי הפרויקט המדומה (פונקציות, מסדי נתונים אחרים וכללי אבטחה).
השימוש באמולטור Cloud Firestore כולל רק כמה שלבים:
- מוסיפים שורת קוד להגדרת הבדיקה של האפליקציה כדי להתחבר לאמולטור.
- מהספרייה הראשית של פרויקט מקומי, מריצים את הפקודה
firebase emulators:start. - ביצוע קריאות מקוד האב-טיפוס של האפליקציה באמצעות Cloud Firestore Platform SDK כרגיל.
כאן אפשר למצוא הסבר מפורט על Cloud Firestore ועל Cloud Functions. כדאי גם לעיין Local Emulator Suite במבוא.
אתחול Cloud Firestore
מאתחלים מופע של Cloud Firestore:
Java
ה-SDK של Cloud Firestore מאותחל בדרכים שונות בהתאם לסביבה שלכם. בהמשך מפורטות השיטות הנפוצות ביותר. לעיון במאמר עזרה מקיף בנושא, אפשר לעבור אל אתחול Admin 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 מאותחל בדרכים שונות בהתאם לסביבה שלכם. בהמשך מפורטות השיטות הנפוצות ביותר. לעיון במאמר עזרה מקיף בנושא, אפשר לעבור אל אתחול Admin 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 לאדמינים בשרת שלכם, צריך להשתמש בחשבון שירות.
נכנסים אל IAM & admin > Service accounts במסוף Google Cloud. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-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 מאותחל בדרכים שונות בהתאם לסביבה שלכם. בהמשך מפורטות השיטות הנפוצות ביותר. לעיון במאמר עזרה מקיף בנושא, אפשר לעבור אל אתחול Admin 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 אחרת), צריך להשתמש בחשבון שירות. נכנסים אל IAM & admin > Service accounts במסוף Google Cloud. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-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 לאדמינים בשרת שלכם, צריך להשתמש בחשבון שירות.
נכנסים אל IAM & admin > Service accounts במסוף Google Cloud. יוצרים מפתח פרטי חדש ושומרים את קובץ ה-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
קריאת נתונים
אפשר להשתמש בכלי להצגת נתונים במסוף Firebase כדי לוודא במהירות שהוספתם נתונים ל-Cloud Firestore.
אפשר גם להשתמש בשיטת 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
- קבלת נתונים – מידע נוסף על אחזור נתונים.
- הפעלת שאילתות פשוטות ומורכבות – איך מריצים שאילתות פשוטות ומורכבות.
- סידור והגבלת שאילתות כאן מוסבר איך לסדר ולהגביל את הנתונים שמוחזרים מהשאילתות.