توضح هذه الصفحة كيفية إنشاء قواعد بيانات 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، انتقل إلى صفحة قواعد البيانات .
- انقر فوق إنشاء قاعدة بيانات .
- حدد وضع قاعدة البيانات. انقر فوق متابعة
- تكوين قاعدة البيانات الخاصة بك. أدخل معرف قاعدة البيانات. اختر موقعا. انقر فوق إنشاء قاعدة بيانات .
com.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 لوضع 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
. قاعدة البيانات التي تم إنشاؤها تكون دائمًا في وضع Firestore Native.
--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
لوضع مخزن البيانات. - 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)
. افتراضيًا، تتصل حزم Firebase SDK ومكتبات عميل Google API بقاعدة بيانات Cloud Firestore (default)
في المشروع. لإنشاء عميل متصل بقاعدة بيانات مسماة، قم بتعيين معرف قاعدة البيانات عند إنشاء مثيل للعميل.
قائمة قواعد البيانات
استخدم إحدى الطرق التالية لسرد قواعد البيانات الخاصة بك:
وحدة التحكم
في Google Cloud Platform Console، انتقل إلى صفحة قواعد البيانات .
com.gcloud
استخدم أمر gcloud firestore databases list
لسرد جميع قواعد البيانات في مشروعك.
gcloud firestore databases list
عرض تفاصيل قاعدة البيانات
لعرض تفاصيل حول قاعدة بيانات واحدة، استخدم أمر gcloud firestore databases describe
:
com.gcloud
gcloud firestore databases describe --database=DATABASE_ID
استبدل DATABASE_ID بمعرف قاعدة البيانات.
تحديث تكوين قاعدة البيانات
لتحديث إعدادات التكوين لقاعدة بيانات، استخدم أمر gcloud alpha firestore databases update
. استخدم هذا الأمر للتغيير لتمكين أو تعطيل حماية الحذف.
قم بتحديث إعداد حماية الحذف
لتمكين حماية الحذف في قاعدة بيانات، استخدم أمر gcloud alpha firestore databases update
مع علامة --delete-protection
. على سبيل المثال:
com.gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --delete-protection
استبدل DATABASE_ID بمعرف قاعدة البيانات.
لتعطيل حماية الحذف في قاعدة بيانات، استخدم أمر gcloud alpha firestore databases update
مع علامة --no-delete-protection
. على سبيل المثال:
com.gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --no-delete-protection
استبدل DATABASE_ID بمعرف قاعدة البيانات.
حذف قاعدة بيانات
لحذف قاعدة بيانات، استخدم وحدة التحكم أو أداة سطر الأوامر.
إذا تم تمكين إعداد حماية الحذف في قاعدة البيانات، فيجب عليك أولاً تعطيل حماية الحذف .
إذا كانت قاعدة البيانات تحتوي على بيانات بحث App Engine أو كيانات كبيرة الحجم ، فيجب عليك حذف تلك البيانات أولاً.
لا يؤدي حذف قاعدة بيانات إلى حذف أي مشغلات Eventarc لقاعدة البيانات هذه تلقائيًا. يتوقف المشغل عن تسليم الأحداث ولكنه يظل موجودًا حتى تقوم بحذف المشغل .
وحدة التحكم
في Google Cloud Platform Console، انتقل إلى صفحة قواعد البيانات .
- انقر فوق عرض المزيد في صف الجدول لقاعدة البيانات التي ترغب في حذفها. انقر فوق حذف . يظهر مربع حوار.
في قاعدة البيانات حذف؟ في مربع الحوار، قم بتأكيد الحذف عن طريق كتابة معرف قاعدة البيانات في حقل النص. انقر فوق حذف . تعلمك وحدة التحكم بنجاح العملية أو فشلها.
إذا فشلت العملية، فاعرض تفاصيل قاعدة البيانات وتأكد من تعطيل الحماية ضد الحذف. لتعطيل الحماية من الحذف، راجع تحديث إعداد الحماية من الحذف .
com.gcloud
استخدم الأمر ``حذف قواعد بيانات gcloud alpha firestore`` .
gcloud alpha firestore databases delete --database=DATABASE_ID
استبدل DATABASE_ID بمعرف قاعدة البيانات المراد حذفها.
تكوين أذونات الوصول لكل قاعدة بيانات
يمكنك استخدام شروط إدارة الهوية والوصول لتكوين أذونات الوصول على مستوى كل قاعدة بيانات. تستخدم الأمثلة التالية Google Cloud CLI لتعيين الوصول المشروط لقاعدة بيانات واحدة أو أكثر. يمكنك أيضًا تحديد شروط IAM في وحدة تحكم GCP .
عرض سياسات 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
على مستوى المشروع.
محددات
- يمكنك الحصول على 100 قاعدة بيانات كحد أقصى لكل مشروع. يمكنك الاتصال بالدعم لطلب زيادة إلى هذا الحد.
- لا يمكنك حذف قاعدة البيانات الخاصة بك إذا كانت تحتوي على أي بيانات بحث GAE و/أو كيانات كبيرة الحجم . الرجاء استخدام واجهة برمجة تطبيقات حذف الفهرس لحذف بيانات بحث GAE وواجهة برمجة تطبيقات حذف Blobstore لحذف بيانات Blobstore.
- لا يمكنك إعادة استخدام معرف قاعدة البيانات إلا بعد 5 دقائق من حدوث الحذف.
- لا يدعم Cloud Function v1 قواعد بيانات Firestore المسماة. الرجاء استخدام Cloud Firestore Triggers (الجيل الثاني) لتكوين الأحداث لقواعد البيانات المسماة.
- مشغلات وظيفة Firestore v1 وقد تتوقف مشغلات أحداث Firestore عن العمل بعد حذف قاعدة البيانات، حتى إذا تم إنشاء قاعدة بيانات جديدة بنفس الاسم.