انجام بازیابی درجا

مربوط به Firestore Standard edition و Firestore Enterprise edition.

این صفحه نحوه بازیابی داده‌ها در نسخه پشتیبان به پایگاه داده‌ای با همان نام پایگاه داده منبع نسخه پشتیبان را شرح می‌دهد. قبل‌از خواندن این صفحه، باید با پشتیبان‌گیری و بازیابی داده‌ها آشنا باشید.

بازیابی درجا

بازیابی درجا به شما امکان می‌دهد پایگاه داده را از نسخه پشتیبان به پایگاه داده منبعی که نسخه پشتیبان را ایجاد کرده است بازیابی کنید، درحالی‌که پایگاه داده اصلی هنوز وجود دارد. بازیابی درجا به شما کمک می‌کند از تغییر مسیر ترافیک یا ایجاد پایگاه داده با نامی متفاوت اجتناب کنید.

عملیات بازیابی باید از پایگاه داده مقصدی استفاده کند که ازقبل وجود نداشته باشد. بااین‌حال، می‌توانید با حذف پایگاه داده منبع و سپس بازیابی از نسخه پشتیبان به پایگاه داده جدیدی با همان نام پایگاه داده منبع، بازیابی درجا را شبیه‌سازی کنید.

انجام بازیابی درجا

برای انجام بازیابی درجا، این مراحل را دنبال کنید:

  1. نسخه پشتیبان را برای استفاده در عملیات بازیابی شناسایی کنید.
  2. پایگاه داده موجود را حذف کنید.
  3. برای تکمیل عملیات بازیابی، از نسخه پشتیبان و شناسه پایگاه داده پایگاه داده حذف‌شده استفاده کنید.
احتیاط: اگر برنامه‌تان از کتابخانه کارخواه Cloud Firestore در حالت «بومی» استفاده می‌کند و کارخواه‌هایتان از حافظه نهان آفلاین استفاده می‌کنند، بازیابی درجا ممکن است نوشته‌هایتان را به‌جای دور انداختن به پایگاه داده بازیابی‌شده منتقل کند. این وضعیت زمانی ممکن است رخ دهد که کلاینت متصل به پایگاه داده حذف‌شده آفلاین شود و درحالی‌که آفلاین است، حافظه پنهان در زمانی که بازیابی درجا را انجام می‌دهید، نوشتن‌ها را جمع‌آوری کند.

قبل از شروع

توصیه می‌کنیم قبل‌از شروع فرایند بازیابی درجا، مراحل زیر را تکمیل کنید.

پیکربندی نمایه پایگاه داده‌تان را بازیابی و کپی کنید. از پیکربندی نمایه برای بازسازی نمایه‌ها پس‌از تکمیل عملیات بازیابی درجا استفاده کنید. از فرمان‌های زیر برای بازیابی پیکربندی نمایه پایگاه داده‌تان استفاده کنید:

  • از gcloud firestore indexes composite list برای بازیابی فهرست نمایه‌های ترکیبی استفاده کنید:

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    DATABASE_ID را با شناسه پایگاه داده‌تان جایگزین کنید.

  • از gcloud firestore indexes fields list برای بازیابی فهرست معافیت‌های نمایه تک‌فیلدی (توکار) استفاده کنید.

        gcloud firestore indexes fields list --database=DATABASE_ID
    

انجام بازیابی درجا

برای انجام عملیات بازیابی در محل، مراحل زیر را تکمیل کنید. این فرایند به زمان ازکارافتادگی بین لحظه حذف پایگاه داده و زمان تکمیل عملیات بازیابی نیاز دارد.

وقتی عملیات بازیابی شروع شد، نمی‌توانید آن را لغو کنید و باید منتظر بمانید تا عملیات تکمیل شود. عملیات بازیابی بلافاصله شناسه پایگاه داده استفاده‌شده در عملیات را اشغال می‌کند.

  1. از فرمان gcloud firestore backups list برای شناسایی نسخه پشتیبان موردنظر برای استفاده در عملیات بازیابی استفاده کنید و نام منبع را یادداشت کنید. نام منبع از قالب زیر استفاده می‌کند:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. از فرمان gcloud firestore databases delete برای حذف پایگاه داده موجود استفاده کنید:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    DATABASE_ID را با شناسه پایگاه داده جایگزین کنید.

  3. پس‌از حذف پایگاه داده، حداقل ۵ دقیقه صبر کنید تا شناسه پایگاه داده دوباره دردسترس قرار گیرد. بااستفاده از فرمان gcloud firestore databases restore عملیات بازیابی را شروع کنید:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    DATABASE_ID را با شناسه پایگاه داده جایگزین کنید.

حالا چه می‌شود