يمكنك استخدام Cloud Firestore خدمة الحذف المجمّع المُدار لحذف البيانات من قاعدة بياناتك. تتيح هذه الميزة حذف مجموعة واحدة أو أكثر من مجموعات المجموعات.
توضّح هذه الصفحة كيفية حذف مستندات Cloud Firestore بشكل مجمّع باستخدام
خدمة الحذف المجمّع المُدارة. تتوفّر
خدمة الحذف المجمّع المُدارة منCloud Firestore من خلال
أداة سطر الأوامر gcloud
وCloud Firestore
واجهة برمجة التطبيقات (REST وRPC).
قبل البدء
قبل أن تتمكّن من استخدام خدمة "الحذف المجمّع المُدار"، عليك إكمال المهام التالية:
- فعِّل الفوترة لمشروعك على Google Cloud. لا يمكن استخدام وظيفة الحذف المجمّع إلا في مشاريع Google Cloud التي تم تفعيل الفوترة فيها.
-
تأكَّد من أنّ حسابك يتضمّن الأذونات اللازمة للقيام بما يلي: Cloud Firestore. إذا كنت مالك المشروع، سيتوفّر لحسابك الأذونات المطلوبة. بخلاف ذلك، تمنحك الأدوار التالية الأذونات اللازمة لإجراء عمليات الحذف المجمّع:
- أدوار Cloud Firestore:
Owner
أوCloud Datastore Owner
أوCloud Datastore Bulk Admin
- أدوار Cloud Firestore:
إعداد gcloud
لمشروعك
يمكنك بدء عمليات حذف مجمّعة من خلال وحدة تحكّم Google Cloud أو
أداة سطر الأوامر gcloud
. لاستخدام gcloud
، عليك إعداد أداة سطر الأوامر
والربط بمشروعك بإحدى الطريقتَين التاليتَين:
يمكنك الوصول إلى
gcloud
من وحدة تحكّم Google Cloud باستخدام Cloud Shell.تأكَّد من ضبط
gcloud
للمشروع الصحيح:gcloud config set project [PROJECT_ID]
حذف البيانات بشكلٍ مجمّع
تبحث عملية الحذف المجمّع أولاً عن جميع المستندات السارية في قاعدة بياناتك وتحذفها على دفعات. سيظل بإمكانك طلب البحث في هذه المستندات أو قراءتها، وقد تختلف النتائج استنادًا إلى مستوى التقدّم الذي أحرزته. لن يؤدي الحذف المجمّع إلى حذف أي مستندات تمت إضافتها أو تعديلها بعد بدء العملية.
حذف مجموعات مجموعات معيّنة بشكل مجمّع
gcloud
لحذف مجموعات مجموعات معيّنة بشكل مجمّع، استخدِم العلامة
--collection-ids
. لا تحذف العملية سوى
مجموعات المجموعات التي تحتوي على المعرّفات المحدّدة. تتضمّن مجموعة المجموعات
جميع المستندات والمستندات المُدمجة (في أي مسار) مع مجموعات المجموعات
المحدّدة.
gcloud beta firestore bulk-delete \ --collection-ids=[COLLECTION_GROUP_ID_1_OR_KIND_1],[COLLECTION_GROUP_ID_2_OR_KIND_2],[SUBCOLLECTION_GROUP_ID_1_OR_KIND_3] \ --database=[DATABASE]
إدارة عمليات الحذف المجمّعة
بعد بدء عملية حذف مجمّعة، يحدّد Cloud Firestore اسمًا فريدًا للعملية. يمكنك استخدام اسم العملية لحذف العملية أو إلغائها أو التحقّق من حالتها.
تتم إضافة البادئة projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/
إلى أسماء العمليات،
على سبيل المثال:
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
ومع ذلك، يمكنك حذف البادئة عند تحديد اسم عملية لسمَتَي describe
وcancel
وdelete
.
عرض قائمة بجميع عمليات الحذف المجمّعة
gcloud
استخدِم الأمر operations list
للاطّلاع على جميع العمليات الجارية والمكتملة مؤخرًا، بما في ذلك عمليات الحذف المجمّعة:
gcloud firestore operations list
التحقّق من حالة العملية
gcloud
استخدِم الأمر operations describe
لعرض حالة عملية حذف مجمّعة.
gcloud firestore operations describe [OPERATION_NAME]
تقدير وقت الإنجاز
يؤدي طلب حالة عملية طويلة الأمد إلى عرض المقياسين
workEstimated
وworkCompleted
. يتم عرض كلّ من هذه المقاييس في كلّ من
عدد وحدات البايت وعدد المستندات:
workEstimated
تعرِض إجمالي عدد البايتات والمستندات المقدَّر الذي ستعالجه العملية. قد تحذف "Cloud Firestore" هذا المقياس إذا كانت لا يمكنها إجراء تقدير.workCompleted
تعرِض عدد البايتات والمستندات التي تم حذفها حتى الآن. بعد اكتمال العملية، تعرض القيمة إجمالي عدد البايت والمستندات التي تمت معالجتها فعليًا، وقد يكون أكبر من قيمةworkEstimated
.
اقسم workCompleted
على workEstimated
للحصول على تقدير تقريبي للتقدّم. قد يكون هذا التقدير غير دقيق، لأنّه يعتمد على جمع الإحصاءات متأخّرًا.
إلغاء عملية
gcloud
استخدِم الأمر operations cancel
لإيقاف عملية جارية:
gcloud firestore operations cancel [OPERATION_NAME]
لا يؤدي إلغاء عملية جارية إلى التراجع عن العملية. لن تؤدي عملية إلغاء حذف ملفّات مجمّعة إلى استرداد المستندات المحذوفة.
حذف عملية
استخدِم الأمر gcloud firestore operations delete
لإزالة
عملية مكتملة من قائمة العمليات الأخيرة. لإلغاء عملية جارية، استخدِم عملية الإلغاء السابقة.
gcloud firestore operations delete [OPERATION_NAME]
الفوترة والأسعار لعمليات الحذف المجمّعة
عليك تفعيل الفوترة لمشروعك على Google Cloud قبل استخدام خدمة "الحذف المجمّع المُدار".
يتم تحصيل رسوم عن عمليات الحذف المجمّع لقراءة المستندات وحذفها بالأسعار المدرَجة في أسعار Cloud Firestore. تؤدي عمليات الحذف المجمّع إلى قراءة إدخال فهرس واحد لكل مستند يتم العثور عليه وتنفيذ عملية حذف واحدة لكل مستند يتم حذفه. يتم تحصيل رسوم منك مقابل عملية قراءة واحدة لما يصل إلى 1000 إدخال فهرس. على سبيل المثال، في عملية حذف مجمّع تم فيها حذف 1500 مستند، سيتم تحصيل رسوم منك مقابل قراءة مستندَين وحذف 1500 مستند.
يُرجى العِلم أنّ Cloud Firestore تفرض رسومًا على العمل الفعلي الذي تمّ إنجازه. إذا تم إلغاء العملية أو تعذّر إكمالها بسبب خطأ من المستخدم، سيتم تحصيل رسوم منك مقابل التقدّم الذي أحرزته. لن تفرض Cloud Firestore رسومًا مقابل قراءة أو حذف المستندات التي لم يتم حذفها في النهاية (مثل المستندات التي تم تعديلها بعد بدء عملية الحذف). وسيتمّ تحديد مصدر التكلفة في يوم اكتمال العملية.
لن تؤدي عمليات الحذف المجمّع إلى تشغيل تنبيهات Google Cloud الميزانية إلا بعد اكتمالها. وبالمثل، يتم تطبيق عمليات القراءة والحذف التي يتم إجراؤها أثناء عملية حذف مجمّعة على الحصة المجانية/الاستخدام بعد اكتمال العملية. لن تؤثّر عمليات الحذف المُجمَّع في الاستخدام المعروض في قسم "الاستخدام" في وحدة التحكّم.
عرض تكاليف الحذف المجمّع
تطبِّق عمليات الحذف المجمّعة التصنيف goog-firestoremanaged:bulkdelete
على العمليات التي يتمّ تحصيل رسومها. في صفحة تقارير "الفوترة في السحابة الإلكترونية"،
يمكنك استخدام هذا التصنيف للاطّلاع على التكاليف المرتبطة بعمليات الحذف المجمّع.
أفضل الممارسات
تجنَّب تخطّي البيانات المحذوفة التي قد تبطئ طلبات البحث.