उसी जगह पर डेटा वापस लाएं

यह Cloud Firestore Standard edition और Cloud 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 को डेटाबेस आईडी से बदलें.

आगे क्या करना है