דף זה מתאר כיצד ליצור, לעדכן ולמחוק מסדי נתונים של Cloud Firestore. אתה יכול ליצור מסדי נתונים מרובים של Cloud Firestore לכל פרויקט. אתה יכול להשתמש במספר מסדי נתונים כדי להגדיר סביבות ייצור ובדיקה, לבודד נתוני לקוחות ולאיזור נתונים.
מסד הנתונים (default)
אם האפליקציה שלך אינה דורשת מסדי נתונים מרובים, השתמש במסד הנתונים (default)
.
אם לא תציין מסד נתונים, ספריות הלקוחות של Cloud Firestore ו-Google Cloud CLI מתחברים למסד הנתונים (default)
כברירת מחדל.
(default)
.תפקידים נדרשים
כדי ליצור ולנהל מסדי נתונים, אתה זקוק לתפקיד Owner
או Datastore Owner
של זהות וניהול גישה. תפקידים אלה מעניקים את ההרשאות הנדרשות.
הרשאות נדרשות
כדי לנהל מסדי נתונים, אתה זקוק להרשאות הבאות:
- צור מסד נתונים:
datastore.databases.create
- קרא את תצורת מסד הנתונים:
datastore.databases.getMetadata
- הגדר מסד נתונים:
datastore.databases.update
- מחיקת מסד נתונים:
datastore.databases.delete
צור מסד נתונים
כדי ליצור מסד נתונים, השתמש באחת מהשיטות הבאות:
לְנַחֵם
ב-Google Cloud Platform Console, עבור לדף מסדי נתונים .
- לחץ על צור מסד נתונים .
- בחר מצב מסד נתונים. לחץ על המשך
- הגדר את מסד הנתונים שלך. הזן מזהה מסד נתונים. בחר מיקום. לחץ על צור מסד נתונים .
gcloud
השתמש בפקודה gcloud alpha firestore databases create
.
gcloud alpha firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --type=DATABASE_TYPE \ [--delete-protection]
החלף את הדברים הבאים:
- DATABASE_ID : מזהה מסד נתונים חוקי .
- LOCATION : השם של אזור או אזור רב-אזורי של Cloud Firestore .
- DATABASE_TYPE : או
firestore-native
עבור מצב מקורי או datastore-mode עבור מצב Datastore.
--delete-protection
הוא דגל אופציונלי להפעלת הגנת מחיקה. לא ניתן למחוק מסד נתונים עם הגנת מחיקה מופעלת עד שתבטל הגדרה זו. הגדרה זו מושבתת כברירת מחדל.
Firebase CLI
firebase firestore:databases:create DATABASE_ID \ --location=LOCATION \ [--delete-protection DELETE_PROTECTION_ENABLEMENT]
החלף את הדברים הבאים:
- DATABASE_ID : מזהה מסד נתונים חוקי .
- LOCATION : השם של אזור או אזור רב-אזורי של Cloud Firestore .
- DELETE_PROTECTION_ENABLEMENT :
ENABLED
אוDISABLED
. מסד הנתונים שנוצר נמצא תמיד במצב Native Firestore.
--delete-protection
Terraform
resource "google_firestore_database" "database" { project = "project-id" name = DATABASE_ID location_id = LOCATION type = DATABASE_TYPE // Optional delete_protection_state = DELETE_PROTECTION_STATE }
החלף את הדברים הבאים:
- DATABASE_ID : מזהה מסד נתונים חוקי .
- LOCATION : השם של אזור או אזור רב-אזורי של Cloud Firestore .
- DATABASE_TYPE :
FIRESTORE_NATIVE
למצב מקורי אוDATASTORE_MODE
למצב Datastore. - DELETE_PROTECTION_ENABLEMENT : או
DELETE_PROTECTION_ENABLED
אוDELETE_PROTECTION_DISABLED
.
delete_protection_state
הוא ארגומנט אופציונלי להפעלת הגנת מחיקה. לא ניתן למחוק מסד נתונים עם הגנת מחיקה מופעלת עד שתבטל הגדרה זו. הגדרה זו מושבתת כברירת מחדל.
מזהה מסד נתונים
מזהי מסד נתונים חוקיים כוללים (default)
ומזהים התואמים את הפרטים הבאים:
- כולל רק אותיות, מספרים ותווי מקף (
-
). - האותיות חייבות להיות קטנות.
- התו הראשון חייב להיות אות.
- התו האחרון חייב להיות אות או מספר.
- מינימום 4 תווים.
- מקסימום 63 תווים.
- לא חייב להיות UUID או להידמות ל-UUID. לדוגמה, אל תשתמש במזהה כמו
f47ac10b-58cc-0372-8567-0e02b2c3d479
.
אם תמחק מסד נתונים, לא תוכל לעשות שימוש חוזר מיידי במזהה מסד הנתונים אלא לאחר 5 דקות.
מחק הגנה
השתמש בהגנה על מחיקה כדי למנוע מחיקה בשוגג של מסד נתונים. לא ניתן למחוק מסד נתונים עם הגנת מחיקה מופעלת עד שתבטל את הגנת המחיקה. הגנת המחיקה מושבתת כברירת מחדל. אתה יכול להפעיל הגנת מחיקה בעת יצירת מסד הנתונים או שאתה יכול לעדכן תצורת מסד נתונים כדי לאפשר הגנת מחיקה.
הגדר את כללי האבטחה של Cloud Firestore עבור מסדי הנתונים שלך
השתמש ב-Firebase CLI כדי לפרוס את כללי האבטחה של Cloud Firestore לכל אחד ממסדי הנתונים שלך. עיין במדריך לניהול ופריסה של כללי האבטחה של Cloud Firestore .
גישה למסד נתונים בעל שם עם ספריית לקוח
מסד נתונים בעל שם כולל כל מסד נתונים שאינו נקרא (default)
. כברירת מחדל, ה-SDKs של Firebase וספריות הלקוחות של Google API מתחברים למסד הנתונים (default)
של Cloud Firestore בפרויקט. כדי ליצור לקוח המחובר למסד נתונים בעל שם, הגדר את מזהה מסד הנתונים בעת הפעלת לקוח.
רשימת מסדי נתונים
השתמש באחת מהשיטות הבאות כדי לרשום את מסדי הנתונים שלך:
לְנַחֵם
ב-Google Cloud Platform Console, עבור לדף מסדי נתונים .
gcloud
השתמש בפקודה gcloud firestore databases list
כדי לרשום את כל מסדי הנתונים בפרויקט שלך.
gcloud firestore databases list
הצג את פרטי מסד הנתונים
כדי להציג פרטים על מסד נתונים בודד, השתמש בפקודה gcloud firestore databases describe
:
gcloud
gcloud firestore databases describe --database=DATABASE_ID
החלף DATABASE_ID במזהה מסד נתונים.
עדכן את תצורת מסד הנתונים
כדי לעדכן את הגדרות התצורה של מסד נתונים, השתמש בפקודת gcloud alpha firestore databases update
. השתמש בפקודה זו כדי לשנות כדי להפעיל או לבטל את הגנת המחיקה.
עדכן את הגדרת ההגנה על המחיקה
כדי לאפשר הגנת מחיקה במסד נתונים, השתמש בפקודת gcloud alpha firestore databases update
עם הדגל --delete-protection
. לדוגמה:
gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --delete-protection
החלף DATABASE_ID במזהה מסד נתונים.
כדי להשבית את הגנת המחיקה במסד נתונים, השתמש בפקודה gcloud alpha firestore databases update
עם הדגל --no-delete-protection
. לדוגמה:
gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --no-delete-protection
החלף DATABASE_ID במזהה מסד נתונים.
מחק מסד נתונים
כדי למחוק מסד נתונים, השתמש בכלי המסוף או שורת הפקודה.
אם הגדרת ההגנה על המחיקה מופעלת במסד הנתונים, תחילה עליך להשבית את הגנת המחיקה .
אם מסד הנתונים מכיל נתוני חיפוש של App Engine או ישויות בלובים , תחילה עליך למחוק נתונים אלה.
מחיקת מסד נתונים אינה מוחקת באופן אוטומטי כל טריגרים של Eventarc עבור מסד נתונים זה. הטריגר מפסיק לספק אירועים אך ממשיך להתקיים עד שתמחק את הטריגר .
לְנַחֵם
ב-Google Cloud Platform Console, עבור לדף מסדי נתונים .
- לחץ על הצג יותר בשורת הטבלה עבור מסד הנתונים שברצונך למחוק. לחץ על מחק . מופיעה תיבת דו-שיח.
במסד הנתונים למחוק? תיבת דו-שיח, אשר את המחיקה על ידי הקלדת מזהה מסד הנתונים בשדה הטקסט. לחץ על מחק . המסוף מודיע לך על הצלחה או כישלון בפעולה.
אם הפעולה נכשלת, הצג את פרטי מסד הנתונים וודא שההגנה על המחיקה מושבתת. כדי להשבית את הגנת המחיקה, ראה עדכון הגדרת הגנת המחיקה .
gcloud
השתמש בפקודה 'מחיקת מסדי נתונים של gcloud alpha firestore' .
gcloud alpha firestore databases delete --database=DATABASE_ID
החלף את DATABASE_ID במזהה של מסד הנתונים למחיקה.
הגדר הרשאות גישה לכל מסד נתונים
אתה יכול להשתמש בתנאי ניהול זהות וגישה כדי להגדיר הרשאות גישה ברמת מסד נתונים. הדוגמאות הבאות משתמשות ב-Google Cloud CLI כדי להקצות גישה מותנית למסד נתונים אחד או יותר. אתה יכול גם להגדיר תנאי IAM ב-GCP Console .
הצג מדיניות IAM הקיימת
gcloud projects get-iam-policy PROJECT_ID
הגדר PROJECT_ID
למזהה הפרויקט שלך.
הענק גישה למסד נתונים
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
הגדר את הדברים הבאים:
-
PROJECT_ID
: מזהה הפרויקט שלך -
EMAIL
: כתובת דוא"ל המייצגת חשבון Google ספציפי. לדוגמה,alice@example.com
. -
DATABASE_ID
: מזהה מסד נתונים. -
TITLE
: כותרת אופציונלית לביטוי. -
DESCRIPTION
: תיאור אופציונלי של הביטוי.
הענק גישה לכולם מלבד מסד נתונים אחד
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
הגדר את הדברים הבאים:
-
PROJECT_ID
: מזהה הפרויקט שלך -
EMAIL
: כתובת דוא"ל המייצגת חשבון Google ספציפי. לדוגמה,alice@example.com
. -
DATABASE_ID
: מזהה מסד נתונים. -
TITLE
: כותרת אופציונלית לביטוי. -
DESCRIPTION
: תיאור אופציונלי של הביטוי.
הסר מדיניות עבור חבר ותפקיד נתון
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all
הגדר את הדברים הבאים:
-
PROJECT_ID
: מזהה הפרויקט שלך -
EMAIL
: כתובת דוא"ל המייצגת חשבון Google ספציפי. לדוגמה,alice@example.com
.
ניטור ענן
מדדי Cloud Firestore מדווחים תחת שני משאבים מנוטרים.
- firestore.googleapis.com/Database
- firestore_instance (מדור קודם)
אתה יכול לבדוק מדדים מצטברים ברמת מסד הנתונים על ידי עיון בכתובת firestore.googleapis.com/Database
. המדדים המדווחים תחת firestore_instance
מצטברים ברמת הפרויקט.
מגבלות
- אתה יכול להחזיק עד 100 מסדי נתונים לכל פרויקט. אתה יכול לפנות לתמיכה כדי לבקש העלאה למגבלה זו.
- אינך יכול למחוק את מסד הנתונים שלך אם הוא מכיל נתוני חיפוש ב-GAE ו/או ישויות בלוב . אנא השתמש בממשק ה-API למחיקת אינדקס כדי למחוק נתוני חיפוש של GAE וב- Bobstore Delete API כדי למחוק נתוני Blobstore.
- לא ניתן לעשות שימוש חוזר במזהה מסד נתונים עד 5 דקות לאחר שהמחיקה מתרחשת.
- Cloud Function v1 אינו תומך בבסיסי נתונים בשם Firestore. השתמש ב- Cloud Firestore Triggers (דור שני) כדי להגדיר אירועים עבור מסדי נתונים בעלי שם.
- מפעילי פונקציות Firestore v1 ומופעי Firestore עשויים להפסיק לפעול לאחר מחיקת מסד הנתונים, גם אם נוצר מסד נתונים חדש באותו שם.