الاحتفاظ بنسخة احتياطية من البيانات واستعادتها

توضّح هذه الصفحة كيفية استخدام ميزة Cloud Firestore عمليات النسخ الاحتياطي المجدوَلة. استخدِم النسخ الاحتياطية لحماية بياناتك من تلف البيانات على مستوى التطبيق أو من حذف البيانات بدون قصد.

تتيح لك عمليات النسخ الاحتياطي ضبط جداول النسخ الاحتياطي للاحتفاظ بنسخ احتياطية يومية أو أسبوعية من قاعدة البيانات المحدّدة. يمكنك بعد ذلك استخدام هذه النُسخ الاحتياطية لاستعادة البيانات إلى قاعدة بيانات جديدة.

لمحة عن النُسخ الاحتياطية

النسخة الاحتياطية هي نسخة متسقة من قاعدة البيانات في وقت معيّن. تحتوي النسخة الاحتياطية على جميع إعدادات البيانات والفهرس في تلك الفترة الزمنية. لا تحتوي النسخة الاحتياطية على سياسات مدة البقاء لقاعدة البيانات. تتوفّر النسخة الاحتياطية في الموقع الجغرافي نفسه الذي تتوفّر فيه قاعدة البيانات المصدر.

تتضمّن النُسخ الاحتياطية فترة احتفاظ قابلة للضبط، ويتم تخزينها إلى أن تنتهي فترة الاحتفاظ أو إلى أن تحذف النسخة الاحتياطية. لا يؤدي حذف قاعدة البيانات المصدر إلى حذف النُسخ الاحتياطية ذات الصلة تلقائيًا.

يخزّن Cloud Firestore البيانات الوصفية المتعلقة بالنسخ الاحتياطية وجداول النسخ الاحتياطية المرتبطة بقاعدة بيانات. تحتفظ Cloud Firestore بهذه البيانات الوصفية إلى أن تنتهي صلاحية جميع النُسخ الاحتياطية لقاعدة البيانات أو يتم حذفها.

لا يؤثر إنشاء نُسخ احتياطية أو الاحتفاظ بها في أداء عمليات القراءة أو الكتابة في قاعدة البيانات النشطة.

التكاليف

عند استخدام النُسخ الاحتياطية، يتم تحصيل رسوم منك مقابل ما يلي:

  • مقدار مساحة التخزين المستخدَمة في كل نسخة احتياطية
  • بالنسبة إلى عملية الاستعادة، يتم تحصيل الرسوم منك استنادًا إلى حجم النسخة الاحتياطية.

لمزيد من التفاصيل والأسعار الدقيقة، يُرجى الاطّلاع على صفحة الأسعار.

قبل البدء

تتطلّب هذه الميزة خطة أسعار Blaze.

الأدوار المطلوبة

للحصول على الأذونات اللازمة لإدارة عمليات الاحتفاظ بنسخ احتياطية وجداولها، اطلب من المشرف منحك دورًا واحدًا أو أكثر من أدوار "إدارة الهوية وإمكانية الوصول" التالية:

  • roles/datastore.owner: الوصول الكامل إلى قاعدة بيانات Cloud Firestore
  • roles/datastore.backupsAdmin: إذن القراءة والكتابة للنسخ الاحتياطية
  • roles/datastore.backupsViewer: إذن الوصول للقراءة إلى النُسخ الاحتياطية
  • roles/datastore.backupSchedulesAdmin: إذن القراءة والكتابة لجداول البيانات الاحتياطية
  • roles/datastore.backupSchedulesViewer: إذن القراءة لجداول النسخ الاحتياطي
  • roles/datastore.restoreAdmin: أذونات لبدء عمليات الاستعادة

إنشاء جداول النسخ الاحتياطي وإدارتها

توضّح الأمثلة أدناه كيفية إعداد جدول زمني احتياطي. يمكنك ضبط جدول احتياطي يومي واحد وجدول احتياطي أسبوعي واحد لكل قاعدة بيانات. لا يمكنك ضبط جداول نسخ احتياطية أسبوعية متعدّدة لأيام مختلفة من الأسبوع.

لا يمكنك ضبط الوقت الدقيق من اليوم الذي يتم فيه إجراء النسخ الاحتياطي. يتم إجراء عمليات النسخ الاحتياطي في أوقات مختلفة كل يوم. بالنسبة إلى جداول النسخ الاحتياطي الأسبوعية، يمكنك ضبط اليوم من الأسبوع الذي سيتم فيه الاحتفاظ بنسخة احتياطية.

إنشاء جدول زمني للنسخ الاحتياطية

استخدِم إحدى الأدوات التالية لإنشاء جدول زمني للنسخ الاحتياطي.

إنشاء جدول زمني يومي للاحتفاظ بنسخة احتياطية

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. انقر على تعديل لتعديل إعدادات استرداد البيانات بعد كارثة.
  4. ضَع علامة في مربّع الاختيار يوميًا، وحدِّد فترة الاحتفاظ بالبيانات، ثم انقر على حفظ.
gcloud
لإنشاء جدول زمني احتياطي لقاعدة بيانات، استخدِم الأمر gcloud firestore backups schedules create. لإنشاء جدول زمني يومي للاحتفاظ بنسخة احتياطية، اضبط العلامة --recurrence على daily:
gcloud firestore backups schedules create \
--database='DATABASE_ID' \
--recurrence=daily \
--retention=RETENTION_PERIOD

استبدِل ما يلي:

  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • RETENTION_PERIOD: اضبط هذه السمة على قيمة تصل إلى 14 أسبوعًا (14w).
Firebase CLI
لإنشاء جدول زمني للنسخ الاحتياطي لقاعدة بيانات، استخدِم الأمر أو الأمر firebase firestore:databases:backups:schedules. لإنشاء جدول زمني يومي للاحتفاظ بنسخة احتياطية، اضبط العلامة --recurrence على DAILY:
firebase firestore:backups:schedules:create \
--database 'DATABASE_ID' \
--recurrence 'DAILY' \
--retention RETENTION_PERIOD

استبدِل ما يلي:

  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • RETENTION_PERIOD: اضبط هذه السمة على قيمة تصل إلى 14 أسبوعًا (14w).
Terraform
لإنشاء جدول زمني يومي لعمليات النسخ الاحتياطي، أنشئ مورد google_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "daily-backup" {
  project  = PROJECT_ID
  database = DATABASE_ID

  retention = RETENTION_PERIOD_SECONDS

  daily_recurrence {}
}

استبدِل ما يلي:

  • PROJECT_ID: تمثّل هذه السمة رقم تعريف المشروع.
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • يمكنك أيضًا استخدام مرجع مورد إلى مورد Terraform من النوع google_firestore_database.
  • RETENTION_PERIOD_SECONDS: اضبط هذا الحقل على قيمة بالثواني، متبوعة بالحرف "s". الحدّ الأقصى للقيمة هو 8467200s (14 أسبوعًا).

إنشاء جدول زمني أسبوعي لعمليات النسخ الاحتياطي

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. انقر على تعديل لتعديل إعدادات استرداد البيانات بعد كارثة.
  4. ضَع علامة في مربّع الاختيار أسبوعيًا، واختَر يومًا لإجراء النسخ الاحتياطي، وحدِّد فترة الاحتفاظ بالبيانات، ثم انقر على حفظ.
gcloud
لإنشاء جدول زمني أسبوعي لعمليات النسخ الاحتياطي، اضبط العلامة --recurrence على weekly:
gcloud firestore backups schedules create \
--database='DATABASE_ID' \
--recurrence=weekly \
--retention=RETENTION_PERIOD \
--day-of-week=DAY
استبدِل ما يلي:
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • RETENTION_PERIOD: اضبط هذه السمة على قيمة تصل إلى 14 أسبوعًا (14w).
  • DAY: يمثّل هذا الحقل يوم الأسبوع الذي سيتم فيه إجراء النسخ الاحتياطي. اضبط القيمة على أحد الخيارات التالية:
    • SUN للأحد
    • MON ليوم الاثنين
    • TUE ليوم الثلاثاء
    • WED ليوم الأربعاء
    • THU ليوم الخميس
    • FRI للجمعة
    • SAT للسبت
Firebase CLI
لإنشاء جدول زمني أسبوعي لعمليات النسخ الاحتياطي، اضبط العلامة --recurrence على WEEKLY:
firebase firestore:backups:schedules:create \
--database 'DATABASE_ID' \
--recurrence 'WEEKLY' \
--retention RETENTION_PERIOD
--day-of-week DAY
استبدِل ما يلي:
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • RETENTION_PERIOD: اضبط هذه السمة على قيمة تصل إلى 14 أسبوعًا (14w).
  • DAY: يمثّل هذا الحقل يوم الأسبوع الذي سيتم فيه إجراء النسخ الاحتياطي. اضبط القيمة على أحد الخيارات التالية:
    • SUNDAY للأحد
    • MONDAY ليوم الاثنين
    • TUESDAY ليوم الثلاثاء
    • WEDNESDAY ليوم الأربعاء
    • THURSDAY ليوم الخميس
    • FRIDAY للجمعة
    • SATURDAY للسبت
Terraform
لإنشاء جدول زمني أسبوعي للنسخ الاحتياطي، أنشئ google_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "weekly-backup" {
  project  = PROJECT_ID
  database = DATABASE_ID

  retention = RETENTION_PERIOD_SECONDS

  weekly_recurrence {
    day = DAY
  }
}

استبدِل ما يلي:

  • PROJECT_ID: تمثّل هذه السمة رقم تعريف المشروع.
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • يمكنك أيضًا استخدام مرجع مورد إلى مورد Terraform من النوع google_firestore_database.
  • RETENTION_PERIOD_SECONDS: اضبط هذا الحقل على قيمة بالثواني، متبوعة بالحرف "s". الحدّ الأقصى للقيمة هو 8467200s (14 أسبوعًا).
  • DAY: يمثّل هذا الحقل يوم الأسبوع الذي سيتم فيه إجراء النسخ الاحتياطي. اضبط القيمة على أحد الخيارات التالية:
    • SUNDAY للأحد
    • MONDAY ليوم الاثنين
    • TUESDAY ليوم الثلاثاء
    • WEDNESDAY ليوم الأربعاء
    • THURSDAY ليوم الخميس
    • FRIDAY للجمعة
    • SATURDAY للسبت

عرض قائمة بجداول النسخ الاحتياطي

لعرض جميع جداول النسخ الاحتياطي لقاعدة بيانات، استخدِم إحدى الطرق التالية:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. تفتح صفحة التعافي من الكوارث. توضّح هذه الصفحة جداول النسخ الاحتياطي وتدرج النُسخ الاحتياطية المتاحة.
gcloud
استخدِم الأمر gcloud firestore backups schedules list.
gcloud firestore backups schedules list \
--database='DATABASE_ID'
استبدِل DATABASE_ID بمعرّف قاعدة البيانات. استخدِم '(default)' لقاعدة البيانات التلقائية.
Firebase CLI
استخدِم الأمر firebase firestore:backups:schedules:list.
firebase firestore:backups:schedules:list \
--database 'DATABASE_ID'
استبدِل DATABASE_ID بمعرّف قاعدة البيانات. استخدِم '(default)' لقاعدة البيانات التلقائية.

وصف جدول النسخ الاحتياطي

لاسترداد معلومات حول جدول زمني للنسخ الاحتياطي، استخدِم إحدى الطرق التالية:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. تفتح صفحة التعافي من الكوارث. توضّح هذه الصفحة جداول النسخ الاحتياطي وتدرج النُسخ الاحتياطية المتاحة.
gcloud
استخدِم الأمر gcloud firestore backups schedules describe:
gcloud firestore backups schedules describe \
--database='DATABASE_ID' \
--backup-schedule=BACKUP_SCHEDULE_ID
استبدِل ما يلي:
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • BACKUP_SCHEDULE_ID: معرّف جدول زمني احتياطي يمكنك الاطّلاع على معرّف كل جدول زمني للنسخ الاحتياطي عند إدراج جميع جداول النسخ الاحتياطي.

تعديل جدول زمني لعملية الاحتفاظ بنسخة احتياطية

لتعديل فترة الاحتفاظ بنسخة احتياطية من جدول زمني، استخدِم إحدى الطرق التالية:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات.
  3. انقر على تعديل لتعديل إعدادات استرداد البيانات بعد كارثة.
  4. عدِّل إعدادات جدول النسخ الاحتياطي، ثم انقر على حفظ.
gcloud
استخدِم الأمر gcloud firestore backups schedules update:
gcloud firestore backups schedules update \
--database='DATABASE_ID' \
--backup-schedule=BACKUP_SCHEDULE_ID \
--retention=RETENTION_PERIOD
استبدِل ما يلي:
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • BACKUP_SCHEDULE_ID: معرّف جدول زمني احتياطي يمكنك الاطّلاع على معرّف كل جدول زمني للنسخ الاحتياطي عند إدراج جميع جداول النسخ الاحتياطي.
  • RETENTION_PERIOD: اضبط هذه السمة على قيمة تصل إلى 14 أسبوعًا (14w).
Firebase CLI
استخدِم الأمر firebase firestore:backups:schedules:update:
firebase firestore:backups:schedules:update \
BACKUP_SCHEDULE \
--retention RETENTION_PERIOD
استبدِل ما يلي:
  • BACKUP_SCHEDULE: الاسم الكامل للمورد الخاص بجدول زمني للنسخ الاحتياطي. يمكنك الاطّلاع على اسم كل جدول زمني للنسخ الاحتياطي عند إدراج جميع جداول النسخ الاحتياطي.
  • RETENTION_PERIOD: اضبط هذه السمة على قيمة تصل إلى 14 أسبوعًا (14w).

يمكنك تعديل مدة الاحتفاظ بنسخة احتياطية من جدول زمني، ولكن لا يمكنك تعديل تكراره. إذا كنت بحاجة إلى جدول زمني لعمل نسخة احتياطية بتكرار مختلف، احذف الجدول الزمني القديم إذا لم تعُد بحاجة إليه وأنشئ جدولاً زمنيًا جديدًا بتكرار مختلف.

حذف جدول زمني للنسخ الاحتياطية

لحذف جدول زمني للنسخ الاحتياطي، استخدِم إحدى الطريقتَين التاليتَين:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. انقر على تعديل لتعديل إعدادات استرداد البيانات بعد كارثة.
  4. عدِّل إعدادات جدول النسخ الاحتياطي، ثم انقر على حفظ.
gcloud
استخدِم الأمر gcloud firestore backups schedules delete:
gcloud firestore backups schedules delete \
--database='DATABASE_ID' \
--backup-schedule=BACKUP_SCHEDULE_ID
استبدِل ما يلي:
  • DATABASE_ID: معرّف قاعدة البيانات المطلوب إجراء نسخ احتياطي لها. اضبط القيمة على '(default)' لقاعدة البيانات التلقائية.
  • BACKUP_SCHEDULE_ID: معرّف جدول زمني احتياطي يمكنك الاطّلاع على معرّف كل جدول زمني للنسخ الاحتياطي عند إدراج جميع جداول النسخ الاحتياطي.
Firebase CLI
استخدِم الأمر firebase firestore:backups:schedules:delete:
firebase firestore:backups:schedules:delete \
BACKUP_SCHEDULE
استبدِل ما يلي:

يُرجى العِلم أنّ حذف جدول زمني للنسخ الاحتياطية لن يؤدي إلى حذف النُسخ الاحتياطية التي تم إنشاؤها مسبقًا باستخدام هذا الجدول الزمني. يمكنك الانتظار إلى أن تنتهي صلاحيتها بعد فترة الاحتفاظ بها، أو يمكنك حذف نسخة احتياطية يدويًا باتّباع الخطوات الواردة في مقالة حذف نسخة احتياطية.

إدارة النُسخ الاحتياطية

عرض قائمة بالنُسخ الاحتياطية

لعرض قائمة بالنسخ الاحتياطية المتاحة، استخدِم إحدى الطرق التالية:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. انقر على تعديل لتعديل إعدادات استرداد البيانات بعد كارثة.
  4. عدِّل إعدادات جدول النسخ الاحتياطي، ثم انقر على حفظ.
gcloud
استخدِم الأمر gcloud firestore backups list:
gcloud firestore backups list \
--format="table(name, database, state)"
تنسّق العلامة --format="table(name, database, state)" المخرجات بتنسيق أكثر قابلية للقراءة. لعرض النسخ الاحتياطية من موقع جغرافي محدّد فقط، استخدِم العلامة --location:
gcloud firestore backups list \
--location=LOCATION \
--format="table(name, database, state)"
استبدِل LOCATION باسم Cloud Firestore موقع جغرافي.
Firebase CLI
استخدِم الأمر firebase firestore:backups:list:
firebase firestore:backups:list
لعرض النسخ الاحتياطية من موقع جغرافي محدّد فقط، استخدِم العلامة --location:
firebase firestore:backups:list \
--location=LOCATION
استبدِل LOCATION باسم Cloud Firestore موقع جغرافي.

وصف النسخة الاحتياطية

لعرض تفاصيل حول نسخة احتياطية، استخدِم إحدى الطرق التالية:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية.
  3. تفتح صفحة التعافي من الكوارث. توضّح هذه الصفحة جداول النسخ الاحتياطي وتدرج النُسخ الاحتياطية المتاحة.
gcloud
استخدِم الأمر gcloud firestore backups describe:
gcloud firestore backups describe \
--location=LOCATION \
--backup=BACKUP_ID
استبدِل ما يلي:
  • LOCATION: موقع قاعدة البيانات
  • BACKUP_ID: تمثّل هذه السمة رقم تعريف النسخة الاحتياطية. يمكنك الاطّلاع على معرّف كل نسخة احتياطية عند إدراج جميع النُسخ الاحتياطية.
Firebase CLI
استخدِم الأمر firebase firestore:backups:get:
firebase firestore:backups:get BACKUP
استبدِل ما يلي:

حذف النسخة الاحتياطية

لحذف نسخة احتياطية، استخدِم إحدى الطرق التالية.

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية. تفتح صفحة التعافي من الكوارث. توضّح هذه الصفحة جداول النسخ الاحتياطي وتدرج النُسخ الاحتياطية المتاحة.
  3. في جدول عمليات النسخ الاحتياطي، ابحث عن صف عملية النسخ الاحتياطي، ثم انقر على عرض المزيد() في عمود الإجراءات. انقر على حذف.
  4. أكِّد الإجراء باستخدام حقل النص وانقر على حذف.
gcloud
استخدِم الأمر gcloud firestore backups delete:
gcloud firestore backups delete \
--location=LOCATION \
--backup=BACKUP_ID
استبدِل ما يلي:
  • LOCATION: موقع قاعدة البيانات
  • BACKUP_ID: تمثّل هذه السمة رقم تعريف النسخة الاحتياطية. يمكنك الاطّلاع على معرّف كل نسخة احتياطية عند إدراج جميع النُسخ الاحتياطية.
Firebase CLI
استخدِم الأمر firebase firestore:backups:delete:
firebase firestore:backups:delete \
BACKUP
استبدِل ما يلي:

استعادة البيانات من نسخة احتياطية لقاعدة بيانات

تكتب عملية الاستعادة البيانات من نسخة احتياطية إلى قاعدة بيانات Cloud Firestore جديدة.

لبدء عملية استعادة، استخدِم إحدى الطرق التالية:

Google Cloud Console
  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. في قائمة قواعد البيانات، ابحث عن صف قاعدة البيانات. في عمود عمليات الاحتفاظ بنسخ احتياطية مُجدوَلة، انقر على عرض النُسخ الاحتياطية أو تعديل الإعدادات، حسب ما إذا كان هناك جدول زمني لعمليات الاحتفاظ بنسخ احتياطية. تفتح صفحة التعافي من الكوارث. توضّح هذه الصفحة جداول النسخ الاحتياطي وتدرج النُسخ الاحتياطية المتاحة.
  3. في جدول عمليات النسخ الاحتياطي، ابحث عن صف عملية النسخ الاحتياطي، ثم انقر على عرض المزيد() في عمود الإجراءات. انقر على استعادة باستخدام Cloud Shell.
  4. تفتح اللوحة Cloud Shell مع الأمر gcloud CLI للاستعادة من النسخة الاحتياطية المحدّدة. استبدِل ID_OF_NEW_DATABASE بمعرّف قاعدة البيانات ونفِّذ الأمر.

    سيؤدي تنفيذ الأمر إلى عرض ردّ يتضمّن مزيدًا من المعلومات حول العملية. ستظهر قاعدة البيانات قريبًا في قائمة قواعد البيانات. ستستغرق عملية الاستعادة بعض الوقت ويجب إكمالها قبل أن يصبح بإمكانك الوصول إلى قاعدة البيانات.

gcloud
استخدِم الأمر gcloud firestore databases restore:
gcloud firestore databases restore \
--source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
--destination-database='DATABASE_ID \
--tags=[KEY=VALUE]'
استبدِل ما يلي:
  • PROJECT_ID: رقم تعريف مشروعك
  • LOCATION: موقع النسخة الاحتياطية من قاعدة البيانات وموقع قاعدة البيانات الجديدة التي تم إنشاؤها للبيانات التي تم استعادتها
  • BACKUP_ID: تمثّل هذه السمة رقم تعريف النسخة الاحتياطية. يمكنك الاطّلاع على معرّف كل نسخة احتياطية عند إدراج جميع النُسخ الاحتياطية.
  • DATABASE_ID: رقم تعريف قاعدة البيانات الجديدة لا يمكنك استخدام معرّف قاعدة بيانات مستخدَم من قبل.
  • [KEY=VALUE]: قائمة اختيارية من أزواج العلامات KEY=VALUE المطلوب ربطها. على سبيل المثال:
    • --tags=123/environment=production,123/costCenter=marketing
    • --tags=tagKeys/333=tagValues/444
ستتضمّن النتائج المكوّنات metadata وname وresponse:
metadata:
  '@type': type.googleapis.com/google.firestore.admin.v1.RestoreDatabaseMetadata
  backup: projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
  database: projects/PROJECT_ID/databases/DATABASE_ID
  operationState: PROCESSING
  progressPercentage:
    completedWork: '20'
    estimatedWork: '100'
  startTime: '2023-12-06T14:20:17.398325Z'
name: projects/PROJECT_ID/databases/DATABASE_ID/operations/operation_uuid
response:
  '@type': type.googleapis.com/google.firestore.admin.v1.Database
  createTime: '2023-12-06T14:20:17.398325Z'
  name: projects/PROJECT_ID/databases/DATABASE_ID
  ...
يتضمّن الحقل metadata مكوّن progressPercentage يوضّح بالتفصيل مستوى التقدّم المقدَّر لعملية الاستعادة حتى الآن، ومكوّن operationState يحدّد الحالة العامة لعملية الاستعادة. لاسترداد هذه المعلومات مرة أخرى، استخدِم gcloud firestore operations list:
gcloud firestore operations list --database=DATABASE_ID
أو باستخدام الحقل name من الناتج الموضّح أعلاه، مع gcloud firestore operations describe:
gcloud firestore operations describe OPERATION_NAME
Firebase CLI
استخدِم الأمر firebase firestore:databases:restore:
firebase firestore:databases:restore \
--backup 'BACKUP' \
--database 'DATABASE_ID'
استبدِل ما يلي:
  • BACKUP: الاسم الكامل للمورد الخاص بنسخة احتياطية يمكنك الاطّلاع على اسم كل نسخة احتياطية عند إدراج جميع النُسخ الاحتياطية.
  • DATABASE_ID: رقم تعريف قاعدة البيانات الجديدة لا يمكنك استخدام معرّف قاعدة بيانات مستخدَم من قبل.