पॉइंट-इन-टाइम रिकवरी (पीआईटीआर) की मदद से काम करना

Cloud Firestore Standard एडिशन और Cloud Firestore Enterprise एडिशन के लिए ज़रूरी है.

इस पेज पर, MongoDB के साथ काम करने वाले Cloud Firestore में डेटा को बनाए रखने और वापस पाने के लिए, किसी खास समय पर डेटा वापस पाने की सुविधा (पीआईटीआर) का इस्तेमाल करने का तरीका बताया गया है.

पीआईटीआर के कॉन्सेप्ट को समझने के लिए, पिछले समय की रिकवरी लेख पढ़ें.

अनुमतियां

पीआईटीआर सेटिंग मैनेज करने के लिए ज़रूरी अनुमतियां पाने के लिए, अपने एडमिन से उस प्रोजेक्ट पर ये आईएएम भूमिकाएं देने के लिए कहें जहां आपको पीआईटीआर की सुविधा चालू करनी है:

  • Cloud Datastore के मालिक की भूमिका (roles/datastore.owner)

कस्टम भूमिकाओं के लिए, पक्का करें कि ये अनुमतियां दी गई हों:

  • डेटाबेस बनाते समय PITR की सुविधा चालू करने के लिए: datastore.databases.create
  • मौजूदा डेटाबेस पर PITR सेटिंग अपडेट करने के लिए: datastore.databases.update,datastore.databases.list
  • पीआईटीआर डेटा से रीड करने के लिए: datastore.databases.get,datastore.entities.get,datastore.entities.list
  • पीआईटीआर डेटा एक्सपोर्ट करने के लिए: datastore.databases.export
  • पीआईटीआर डेटा इंपोर्ट करने के लिए: datastore.databases.import
  • डेटाबेस को क्लोन करने के लिए: datastore.databases.clone

शुरू करने से पहले

पीआईटीआर का इस्तेमाल शुरू करने से पहले, इन बातों का ध्यान रखें:

  • पीआईटीआर की सुविधा चालू करने के तुरंत बाद, सात दिन पहले से पढ़ना शुरू नहीं किया जा सकता.
  • यदि आप डेटाबेस बनाते समय PITR सक्षम करना चाहते हैं, तो आपको gcloud firestore databases create कमांड का उपयोग करना होगा. Google Cloud Console का इस्तेमाल करके डेटाबेस बनाते समय, PITR की सुविधा चालू नहीं की जा सकती.
  • Cloud Firestore के साथ MongoDB के साथ काम करने की सुविधा चालू होने पर, PITR की सुविधा चालू होने के बाद से वर्शन सेव होने लगते हैं.
  • PITR की सुविधा बंद करने के बाद, PITR विंडो में PITR डेटा नहीं पढ़ा जा सकता.
  • अगर PITR की सुविधा बंद करने के तुरंत बाद उसे फिर से चालू किया जाता है, तो PITR का पिछला डेटा उपलब्ध नहीं होता. पीआईटीआर की सुविधा बंद करने से पहले बनाया गया कोई भी पीआईटीआर डेटा, पीआईटीआर की समयसीमा खत्म होने की तारीख के बाद मिटा दिया जाएगा.
  • अगर आपने गलती से पिछले एक घंटे में डेटा मिटा दिया है और PITR की सुविधा बंद है, तो डेटा मिटाने के एक घंटे के अंदर PITR की सुविधा चालू करके, डेटा वापस लाया जा सकता है.
  • समयसीमा खत्म हो चुके PITR डेटा को पढ़ने की कोई भी कोशिश काम नहीं करती.

पीआईटीआर की सुविधा चालू करना

पीआईटीआर का इस्तेमाल करने से पहले, अपने Google Cloud प्रोजेक्ट के लिए बिलिंग चालू करें. केवल बिलिंग सक्षम Google क्लाउड प्रोजेक्ट ही PITR कार्यक्षमता का उपयोग कर सकते हैं.

अपने डेटाबेस के लिए PITR की सुविधा चालू करने के लिए:

कंसोल

  1. Google Cloud Console में, डेटाबेस पेज पर जाएं.

    डेटाबेस पर जाएं

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें.

  3. नेविगेशन मेन्यू में, डिज़ास्टर रिकवरी पर क्लिक करें.

  4. सेटिंग में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.

  5. किसी खास समय पर डेटा वापस पाने की सुविधा चालू करें चेकबॉक्स को चुनें. इसके बाद, सेव करें पर क्लिक करें.

पीआईटीआर की सुविधा चालू करने पर, स्टोरेज के लिए शुल्क लगता है. ज़्यादा जानकारी के लिए, कीमत देखें.

पीआईटीआर की सुविधा बंद करने के लिए, Google Cloud Console में मौजूद Disaster Recovery पेज पर जाकर, Enable point-in-time recovery चेकबॉक्स से सही का निशान हटाएं.

gcloud

डेटाबेस बनाते समय, gcloud firestore databases create और --enable-ptir कमांड का इस्तेमाल करके, PITR की सुविधा चालू करें. इसके लिए, यह तरीका अपनाएं:

gcloud firestore databases create\
  --location=LOCATION\
  --database=DATABASE_ID\
  --type=firestore-native\
  --enable-pitr

वैल्यू को इस तरह बदलें:

  • LOCATION - वह जगह जहां आपको डेटाबेस बनाना है.
  • DATABASE_ID - इसे डेटाबेस आईडी पर सेट किया जाता है.

gcloud firestore databases update कमांड का इस्तेमाल करके, PITR को इस तरह बंद किया जा सकता है:

gcloud firestore databases update\
  --database=DATABASE_ID\
  --no-enable-pitr

वैल्यू को इस तरह बदलें:

  • DATABASE_ID - डेटाबेस आईडी या (डिफ़ॉल्ट) पर सेट करें.

अवधारण अवधि और सबसे पुराने संस्करण का समय प्राप्त करें

कंसोल

  1. Google Cloud Console में, डेटाबेस पेज पर जाएं.

    डेटाबेस पर जाएं

  2. डेटाबेस की सूची से, वह डेटाबेस चुनें जिसकी ज़रूरत है.

  3. नेविगेशन मेन्यू में, डिज़ास्टर रिकवरी पर क्लिक करें.

  4. सेटिंग सेक्शन में, डेटा सुरक्षित रखने की अवधि और सबसे पुराने वर्शन का समय नोट करें.

    • डेटा के रखरखाव की अवधि: वह अवधि जिसके दौरान Cloud Firestore with MongoDB compatibility, डेटाबेस के लिए डेटा के सभी वर्शन को बनाए रखता है. पीआईटीआर की सुविधा बंद होने पर, वैल्यू एक घंटे की होती है. वहीं, पीआईटीआर की सुविधा चालू होने पर, वैल्यू सात दिनों की होती है.
    • सबसे पुराना संस्करण समय: वह सबसे पुराना टाइमस्टैम्प जिस पर PITR विंडो में डेटा के पुराने संस्करण पढ़े जा सकते हैं. यह मान MongoDB संगतता के साथ क्लाउड फायरस्टोर द्वारा लगातार अपडेट किया जाता है और क्वेरी किए जाने के क्षण से ही पुराना हो जाता है. अगर आपको इस वैल्यू का इस्तेमाल करके डेटा वापस लाना है, तो पक्का करें कि आपने उस समय को ध्यान में रखा हो जब वैल्यू के लिए क्वेरी की गई थी और जब आपने डेटा वापस लाने की प्रोसेस शुरू की थी.
    • पॉइंट-इन-टाइम रिकवरी: अगर पीआईटीआर चालू है, तो Enabled दिखता है. अगर PITR की सुविधा बंद है, तो आपको Disabled दिखेगा.

gcloud

gcloud firestore databases describe कमांड को इस तरह चलाएँ:

gcloud firestore databases describe --database=DATABASE_ID

DATABASE_ID की जगह डेटाबेस आईडी या '(default)' डालें.

आउटपुट यह है:

    appEngineIntegrationMode: ENABLED
    concurrencyMode: PESSIMISTIC
    createTime: '2021-03-24T17:02:35.234Z'
    deleteProtectionState: DELETE_PROTECTION_DISABLED
    earliestVersionTime: '2023-06-12T16:17:25.222474Z'
    etag: IIDayqOevv8CMNTvyNK4uv8C
    keyPrefix: s
    locationId: nam5
    name: projects/PROJECT_ID/databases/DATABASE_ID
    pointInTimeRecoveryEnablement: POINT_IN_TIME_RECOVERY_DISABLED
    type: FIRESTORE_NATIVE
    uid: 5230c382-dcd2-468f-8cb3-2a1acfde2b32
    updateTime: '2021-11-17T17:48:22.171180Z'
    versionRetentionPeriod: 3600s

कहाँ,

  • earliestVersionTime: सबसे पहले सेव किए गए PITR डेटा का टाइमस्टैंप.
  • pointInTimeRecoveryEnablement: यदि PITR सक्षम है, तो POINT_IN_TIME_RECOVERY_ENABLED दिखाता है. यदि PITR अक्षम है, तो आपको या तो POINT_IN_TIME_RECOVERY_DISABLED दिखाई देगा या pointInTimeRecoveryEnablement फ़ील्ड प्रदर्शित नहीं होगी.
  • versionRetentionPeriod: वह समयावधि जिसके लिए PITR डेटा को मिलीसेकंड में रखा जाता है. PITR अक्षम होने पर मान एक घंटा हो सकता है, या PITR सक्षम होने पर सात दिन हो सकता है.

पीआईटीआर डेटा को पढ़ने की अनुमति

क्लाइंट लाइब्रेरी, REST API के तरीकों या FirestoreIO Apache Beam कनेक्टर का इस्तेमाल करके, PITR डेटा को पढ़ा जा सकता है.

क्लाइंट लाइब्रेरी

Java

आपको PITR डेटा पढ़ने के लिए ReadOnly लेनदेन का उपयोग करना होगा. रीड में सीधे तौर पर readTime तय नहीं किया जा सकता. ज़्यादा जानकारी के लिए, लेन-देन और बैच में लिखे गए अनुरोध लेख पढ़ें.

  Firestore firestore = 

  TransactionOptions options =
          TransactionOptions.createReadOnlyOptionsBuilder()
              .setReadTime(
                  com.google.protobuf.Timestamp.newBuilder()
                      .setSeconds(1684098540L)
                      .setNanos(0))
              .build();

  ApiFuture<Void> futureTransaction = firestore.runTransaction(
              transaction -> {
                // Does a snapshot read document lookup
                final DocumentSnapshot documentResult =
                    transaction.get(documentReference).get();

                // Executes a snapshot read query
                final QuerySnapshot queryResult =
                  transaction.get(query).get();
              },
              options);

  // Blocks on transaction to complete
  futureTransaction.get();

नोड

पीआईटीआर डेटा को पढ़ने के लिए, आपको ReadOnly लेन-देन का इस्तेमाल करना होगा. रीड में सीधे तौर पर readTime तय नहीं किया जा सकता. ज़्यादा जानकारी के लिए, लेन-देन और बैच में लिखे गए अनुरोध लेख पढ़ें.

const documentSnapshot = await firestore.runTransaction(
    updateFunction => updateFunction.get(documentRef),
    {readOnly: true, readTime: new Firestore.Timestamp(1684098540, 0)}
);

const querySnapshot = await firestore.runTransaction(
    updateFunction => updateFunction.get(query),
    {readOnly: true, readTime: new Firestore.Timestamp(1684098540, 0)}
);

REST API

पीआईटीआर की सुविधा, Cloud Firestore के उन सभी वर्शन में काम करती है जिनमें MongoDB के साथ काम करने वाले रीड मैथड इस्तेमाल किए जा सकते हैं. ये रीड मैथड ये हैं: get, list, batchGet, listCollectionIds, listDocuments, runQuery, runAggregationQuery, और partitionQuery.

REST के तरीकों का इस्तेमाल करके पढ़ने की कार्रवाई करने के लिए, इनमें से कोई एक विकल्प आज़माएं:

  1. पढ़ने के तरीके के अनुरोध में, readTime वैल्यू को readOptions तरीके में, PITR के लिए इस्तेमाल किए जा सकने वाले टाइमस्टैंप के तौर पर पास करें. पीआईटीआर टाइमस्टैंप, पिछले एक घंटे के अंदर का माइक्रोसेकंड प्रिसिशन टाइमस्टैंप या पिछले एक घंटे से ज़्यादा का पूरा मिनट टाइमस्टैंप हो सकता है. हालांकि, यह earliestVersionTime से पहले का नहीं होना चाहिए.

  2. एक से ज़्यादा PITR रीड के लिए, BeginTransaction तरीके के साथ readTime पैरामीटर का इस्तेमाल करें. ऐसा ReadOnly लेन-देन के हिस्से के तौर पर करें.

Apache Beam

Cloud Firestore with MongoDB compatibilityIO Apache Beam कनेक्टर का इस्तेमाल करके, Dataflow की मदद से बड़े पैमाने पर Cloud Firestore with MongoDB compatibility डेटाबेस में दस्तावेज़ पढ़े या लिखे जा सकते हैं.

Cloud Firestore with MongoDB compatibilityIO कनेक्टर के इस रीड मेथड में, PITR की सुविधा काम करती है. पढ़ने के ये तरीके, withReadTime(@Nullable Instant readTime) तरीके के साथ काम करते हैं. इस तरीके का इस्तेमाल, PITR के लिए किया जा सकता है:

Java

एक साथ कई फ़ाइलें पढ़ने या लिखने के लिए, Dataflow पाइपलाइन के उदाहरण के तौर पर दिए गए कोड के साथ यहां दिए गए कोड का इस्तेमाल किया जा सकता है. इस उदाहरण में, PITR रीड के लिए withReadTime(@Nullable Instant readTime) तरीके का इस्तेमाल किया गया है.

  Instant readTime = Instant.ofEpochSecond(1684098540L);

  PCollection<Document> documents =
      pipeline
          .apply(Create.of(collectionId))
          .apply(
              new FilterDocumentsQuery(
                  firestoreOptions.getProjectId(), firestoreOptions.getDatabaseId()))
          .apply(FirestoreIO.v1().read().runQuery().withReadTime(readTime).withRpcQosOptions(rpcQosOptions).build())
  ...

Dataflow पाइपलाइन में readTime के उदाहरणों की पूरी सूची देखने के लिए, GitHub रिपॉज़िटरी देखें.

किसी डेटाबेस से क्लोन करना

किसी मौजूदा डेटाबेस को चुने गए टाइमस्टैंप पर, नए डेटाबेस में क्लोन किया जा सकता है:

  • क्लोन किया गया डेटाबेस, एक नया डेटाबेस होता है. यह सोर्स डेटाबेस की जगह पर ही बनाया जाता है.

    क्लोन बनाने के लिए, Cloud Firestore सोर्स डेटाबेस के पॉइंट-इन-टाइम रिकवरी (पीआईटीआर) डेटा का इस्तेमाल करता है. क्लोन किए गए डेटाबेस में, पूरा डेटा और इंडेक्स शामिल होते हैं.

  • डिफ़ॉल्ट रूप से, क्लोन किए गए डेटाबेस को उसी तरीके से एन्क्रिप्ट (सुरक्षित) किया जाएगा जिस तरीके से सोर्स डेटाबेस को एन्क्रिप्ट किया गया था. इसके लिए, Google के डिफ़ॉल्ट एन्क्रिप्शन या CMEK एन्क्रिप्शन का इस्तेमाल किया जाएगा. CMEK एन्क्रिप्शन के लिए, एन्क्रिप्शन का कोई दूसरा टाइप तय किया जा सकता है या किसी दूसरी कुंजी का इस्तेमाल किया जा सकता है.

  • टाइमस्टैंप में एक मिनट का अंतर होता है. साथ ही, यह पीआईटीआर विंडो में तय की गई अवधि के दौरान, बीते समय का एक पॉइंट दिखाता है:

    • अगर आपके डेटाबेस के लिए PITR की सुविधा चालू है, तो पिछले सात दिनों में से किसी भी मिनट को चुना जा सकता है. अगर PITR की सुविधा सात दिन पहले चालू की गई थी, तो इससे कम समय चुना जा सकता है.
    • अगर PITR की सुविधा चालू नहीं है, तो पिछले एक घंटे में किसी भी मिनट को चुना जा सकता है.
    • आपके पास सबसे पहले के उस टाइमस्टैंप की जांच करने का विकल्प होता है जिसे अपने डेटाबेस की जानकारी में चुना जा सकता है.

कंसोल

Firebase कंसोल में, डेटाबेस क्लोन करने की सुविधा काम नहीं करती. डेटाबेस क्लोन करने के लिए, Google Cloud CLI के निर्देशों का इस्तेमाल किया जा सकता है.

gcloud

डेटाबेस को क्लोन करने के लिए, gcloud firestore databases clone कमांड का इस्तेमाल करें:

gcloud firestore databases clone \
--source-database='SOURCE_DATABASE' \
--snapshot-time='PITR_TIMESTAMP' \
--destination-database='DESTINATION_DATABASE_ID'

इनकी जगह ये डालें:

  • SOURCE_DATABASE: उस मौजूदा डेटाबेस का नाम जिसे आपको क्लोन करना है. नाम, projects/PROJECT_ID/databases/SOURCE_DATABASE_ID फ़ॉर्मैट में होना चाहिए.

  • PITR_TIMESTAMP: मिनट के हिसाब से, आरएफ़सी 3339 फ़ॉर्मैट में पीआईटीआर टाइमस्टैंप. उदाहरण के लिए: 2025-06-01T10:20:00.00Z या 2025-06-01T10:30:00.00-07:00.

  • DESTINATION_DATABASE_ID: क्लोन किए गए नए डेटाबेस के लिए, डेटाबेस आईडी. यह डेटाबेस आईडी, किसी मौजूदा डेटाबेस से नहीं जुड़ा होना चाहिए.

उदाहरण:

gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db'

अगर आपको किसी डेटाबेस को क्लोन करते समय कुछ टैग बाइंड करने हैं, तो --tags फ़्लैग के साथ पिछली कमांड का इस्तेमाल करें. यह बाइंड करने के लिए, टैग के KEY=VALUE पेयर की एक वैकल्पिक सूची है.

उदाहरण:

gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db' \
--tags=key1=value1,key2=value2

डिफ़ॉल्ट रूप से, क्लोन किए गए डेटाबेस में एन्क्रिप्शन का वही कॉन्फ़िगरेशन होगा जो सोर्स डेटाबेस में है. एन्क्रिप्शन कॉन्फ़िगरेशन बदलने के लिए, --encryption-type आर्ग्युमेंट का इस्तेमाल करें:

  • (डिफ़ॉल्ट) use-source-encryption: सोर्स डेटाबेस के लिए इस्तेमाल किए गए एन्क्रिप्शन कॉन्फ़िगरेशन का ही इस्तेमाल करें.
  • google-default-encryption: डेटा सुरक्षित करने के लिए, Google के डिफ़ॉल्ट तरीके का इस्तेमाल करें.
  • customer-managed-encryption: CMEK एन्क्रिप्शन का इस्तेमाल करें. --kms-key-name आर्ग्युमेंट में कुंजी आईडी डालें.

यहां दिए गए उदाहरण में, क्लोन किए गए डेटाबेस के लिए सीएमईके एन्क्रिप्शन को कॉन्फ़िगर करने का तरीका बताया गया है:

gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db' \
--encryption-type='customer-managed-encryption' \
--kms-key-name='projects/example-project/locations/us-central1/keyRings/example-key-ring/cryptoKeys/example-key'

Firebase CLI

डेटाबेस को क्लोन करने के लिए, firebase firestore:databases:clone कमांड का इस्तेमाल करें:

firebase firestore:databases:clone \
'SOURCE_DATABASE' \
'DESTINATION_DATABASE' \
--snapshot-time 'PITR_TIMESTAMP'

इनकी जगह ये डालें:

  • SOURCE_DATABASE: उस मौजूदा डेटाबेस का नाम जिसे आपको क्लोन करना है. नाम, projects/PROJECT_ID/databases/SOURCE_DATABASE_ID फ़ॉर्मैट में होना चाहिए.

  • DESTINATION_DATABASE: क्लोन किए गए नए डेटाबेस का नाम. नाम, projects/PROJECT_ID/databases/DESTINATION_DATABASE_ID फ़ॉर्मैट में होना चाहिए. डेटाबेस का यह नाम, किसी मौजूदा डेटाबेस से नहीं जुड़ा होना चाहिए.

  • PITR_TIMESTAMP: मिनट के हिसाब से, आरएफ़सी 3339 फ़ॉर्मैट में पीआईटीआर टाइमस्टैंप. उदाहरण के लिए: 2025-06-01T10:20:00.00Z या 2025-06-01T10:30:00.00-07:00. अगर इसकी जानकारी नहीं दी जाती है, तो चुना गया स्नैपशॉट मौजूदा समय का होगा. हालांकि, इसे मिनट के हिसाब से राउंड डाउन किया जाएगा.

डिफ़ॉल्ट रूप से, क्लोन किए गए डेटाबेस में एन्क्रिप्शन का वही कॉन्फ़िगरेशन होगा जो सोर्स डेटाबेस में है. एन्क्रिप्शन कॉन्फ़िगरेशन बदलने के लिए, --encryption-type आर्ग्युमेंट का इस्तेमाल करें:

  • (डिफ़ॉल्ट) USE_SOURCE_ENCRYPTION: सोर्स डेटाबेस के लिए इस्तेमाल किए गए एन्क्रिप्शन कॉन्फ़िगरेशन का ही इस्तेमाल करें.
  • GOOGLE_DEFAULT_ENCRYPTION: डेटा सुरक्षित करने के लिए, Google के डिफ़ॉल्ट तरीके का इस्तेमाल करें.
  • CUSTOMER_MANAGED_ENCRYPTION: CMEK एन्क्रिप्शन का इस्तेमाल करें. --kms-key-name आर्ग्युमेंट में कुंजी आईडी डालें.

यहां दिए गए उदाहरण में, क्लोन किए गए डेटाबेस के लिए सीएमईके एन्क्रिप्शन को कॉन्फ़िगर करने का तरीका बताया गया है:

firebase firestore:databases:clone \
'projects/example-project/databases/(default)' \
'projects/example-project/databases/example-dest-db' \
--snapshot-time 'PITR_TIMESTAMP' \
--encryption-type CUSTOMER_MANAGED_ENCRYPTION

सीमाएं

क्लोन करने की प्रोसेस में, (default) डेटाबेस से App Engine खोज डेटा या ब्लॉब इकाइयां क्लोन नहीं होती हैं. यह डेटा सिर्फ़ (default) डेटाबेस के लिए मान्य है. अगर (default) से किसी ऐसे डेटाबेस में क्लोन किया जाता है जो इस तरह के डेटा के साथ काम नहीं करता है, तो यह डेटा काम का नहीं होगा. इसलिए, इसे क्लोन से बाहर रखा जाता है.

पीआईटीआर डेटा से एक्सपोर्ट और इंपोर्ट करना

gcloud firestore export कमांड का इस्तेमाल करके, PITR डेटा से अपने डेटाबेस को Cloud Storage में एक्सपोर्ट किया जा सकता है. आपके पास पीआईटीआर डेटा को एक्सपोर्ट करने का विकल्प होता है. इसके लिए, टाइमस्टैंप पिछले सात दिनों का होना चाहिए. हालांकि, यह earliestVersionTime से पहले का नहीं होना चाहिए. अगर तय किए गए टाइमस्टैंप पर डेटा मौजूद नहीं है, तो एक्सपोर्ट करने की प्रोसेस पूरी नहीं होगी.

पीआईटीआर एक्सपोर्ट करने की सुविधा में, सभी फ़िल्टर काम करते हैं. इनमें सभी दस्तावेज़ों को एक्सपोर्ट करने और चुनिंदा कलेक्शन को एक्सपोर्ट करने की सुविधा भी शामिल है.

  1. डेटाबेस एक्सपोर्ट करें. इसके लिए, चुने गए रिकवरी टाइमस्टैंप के लिए snapshot-time पैरामीटर तय करें.

    gcloud

    डेटाबेस को अपने बकेट में एक्सपोर्ट करने के लिए, यह कमांड चलाएं.

    gcloud firestore export gs://BUCKET_NAME_PATH \
        --snapshot-time=PITR_TIMESTAMP \
        --collection-ids=COLLECTION_IDS \
        --namespace-ids=NAMESPACE_IDS
    

    कहाँ,

    • BUCKET_NAME_PATH - एक मान्य Cloud Storage बकेट. इसमें पाथ प्रीफ़िक्स का विकल्प होता है. एक्सपोर्ट की गई फ़ाइलें इसी बकेट में सेव की जाती हैं.
    • PITR_TIMESTAMP - मिनट के हिसाब से PITR टाइमस्टैंप. उदाहरण के लिए, 2023-05-26T10:20:00.00Z या 2023-10-19T10:30:00.00-07:00.
    • COLLECTION_IDS - कलेक्शन आईडी या कलेक्शन ग्रुप आईडी की सूची. उदाहरण के लिए-'specific-collection-group1','specific-collection-group2'.
    • NAMESPACE_IDS - नेमस्पेस आईडी की सूची, उदाहरण के लिए-'customer','orders'.

    PITR डेटा निर्यात करने से पहले निम्नलिखित बिंदुओं पर ध्यान दें:

    • टाइमस्टैंप को RFC 3339 फ़ॉर्मैट में डालें. उदाहरण के लिए, 2023-05-26T10:20:00.00Z या 2023-10-19T10:30:00.00-07:00.
    • सुनिश्चित करें कि आपके द्वारा निर्दिष्ट टाइमस्टैम्प पिछले सात दिनों के भीतर का एक पूर्ण मिनट का टाइमस्टैम्प है, लेकिन earliestVersionTime से पहले का नहीं. अगर तय किए गए टाइमस्टैंप पर डेटा मौजूद नहीं है, तो गड़बड़ी का मैसेज दिखता है. टाइमस्टैंप पूरा मिनट होना चाहिए. भले ही, बताया गया समय पिछले एक घंटे का हो.
    • पीआईटीआर एक्सपोर्ट पूरा न होने पर, आपसे कोई शुल्क नहीं लिया जाता.
  2. डेटाबेस में इंपोर्ट करें.

    एक्सपोर्ट किए गए डेटाबेस को इंपोर्ट करने के लिए, सभी दस्तावेज़ इंपोर्ट करें में दिया गया तरीका अपनाएं. अगर आपके डेटाबेस में कोई दस्तावेज़ पहले से मौजूद है, तो उसे बदल दिया जाएगा.