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

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

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

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

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

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

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

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

التكاليف

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

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

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

قبل البدء

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

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

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

  • roles/datastore.owner: إذن الوصول الكامل إلى قاعدة بيانات Cloud Firestore
  • تتوفّر أيضًا الأدوار التالية، ولكنّها لا تظهر في وحدة تحكّم Google Cloud. استخدِم Google Cloud CLI لتعيين الأدوار التالية:

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

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

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

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

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

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

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

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

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

  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، انتقِل إلى صفحة قواعد البيانات.

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

  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، انتقِل إلى صفحة قواعد البيانات.

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

  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، انتقِل إلى صفحة قواعد البيانات.

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

  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، انتقِل إلى صفحة قواعد البيانات.

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

  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
استبدِل ما يلي:

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

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

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

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

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

  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، انتقِل إلى صفحة قواعد البيانات.

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

  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، انتقِل إلى صفحة قواعد البيانات.

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

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

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

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

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

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

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

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

تُسجِّل عملية الاستعادة البيانات من نسخة احتياطية في Cloud Firestore قاعدة بيانات جديدة.

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

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

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

  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'
استبدِل ما يلي:
  • PROJECT_ID: رقم تعريف مشروعك.
  • LOCATION: الموقع الجغرافي للنسخة الاحتياطية من قاعدة البيانات و الموقع الجغرافي لقاعدة البيانات الجديدة التي تم إنشاؤها للبيانات التي تم استعادتها
  • BACKUP_ID: رقم تعريف نسخة احتياطية يمكنك الاطّلاع على رقم تعريف كل نسخة احتياطية عند عرض قائمة بجميع النُسخ الاحتياطية.
  • DATABASE_ID: رقم تعريف قاعدة بيانات الجديدة. لا يمكنك استخدام معرّف قاعدة بيانات قيد الاستخدام.
ستتضمّن النتيجة المكوّنات 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: رقم تعريف قاعدة بيانات الجديدة لا يمكنك استخدام معرّف قاعدة بيانات قيد الاستخدام.