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

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

पीआईटीआर के कॉन्सेप्ट समझने के लिए, पॉइंट-इन-टाइम रिकवरी देखें.

अनुमतियां

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

  • Cloud Datastore का मालिक (roles/datastore.owner)

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

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

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

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

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

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

पीआईटीआर का इस्तेमाल करने से पहले, अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करें. पीआईटीआर की सुविधा का इस्तेमाल सिर्फ़ वे Google Cloud प्रोजेक्ट कर सकते हैं जिनके लिए बिलिंग की सुविधा चालू है.

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

कंसोल

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

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

  2. डेटाबेस की सूची में से, ज़रूरी डेटाबेस चुनें.

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

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

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

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

पीआईटीआर की सुविधा बंद करने के लिए, Google Cloud Console में डिज़ास्टर रिकवरी पेज पर जाकर, पॉइंट-इन-टाइम रिकवरी की सुविधा चालू करें चेकबॉक्स से सही का निशान हटाएं.

gcloud

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

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

इन वैल्यू को बदलें:

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

gcloud firestore databases update कमांड का इस्तेमाल करके, पीआईटीआर की सुविधा बंद की जा सकती है. जैसे:

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

इन वैल्यू को बदलें:

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

डेटा के रखरखाव की अवधि और सबसे पुराने वर्शन का समय पाना

कंसोल

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

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

  2. डेटाबेस की सूची में से, ज़रूरी डेटाबेस चुनें.

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

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

    • डेटा के रखरखाव की अवधि: वह अवधि जिसके दौरान Cloud Firestore डेटाबेस के सभी वर्शन का डेटा बनाए रखता है. पीआईटीआर की सुविधा बंद होने पर, यह वैल्यू एक घंटा होती है. वहीं, पीआईटीआर की सुविधा चालू होने पर, यह वैल्यू सात दिन होती है.
    • सबसे पुराने वर्शन का समय: वह सबसे पुराना टाइमस्टैंप जिस पर पीआईटीआर विंडो में डेटा के पुराने वर्शन पढ़े जा सकते हैं. Cloud Firestore इस वैल्यू को लगातार अपडेट करता है Cloud Firestoreक्वेरी करने पर, यह वैल्यू पुरानी हो जाती है. अगर डेटा वापस पाने के लिए इस वैल्यू का इस्तेमाल किया जा रहा है, तो क्वेरी करने के समय से लेकर डेटा वापस पाने की प्रोसेस शुरू करने के समय तक के अंतर को ध्यान में रखें.
    • पॉइंट-इन-टाइम रिकवरी: अगर पीआईटीआर की सुविधा चालू है, तो Enabled दिखता है. अगर पीआईटीआर की सुविधा बंद है, तो 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: सेव किए गए सबसे पुराने पीआईटीआर डेटा का टाइमस्टैंप.
  • pointInTimeRecoveryEnablement: अगर पीआईटीआर की सुविधा चालू है, तो POINT_IN_TIME_RECOVERY_ENABLED दिखता है. अगर पीआईटीआर की सुविधा बंद है, तो आपको POINT_IN_TIME_RECOVERY_DISABLED दिखेगा. इसके अलावा, pointInTimeRecoveryEnablement फ़ील्ड नहीं भी दिख सकता है.
  • versionRetentionPeriod: वह समयावधि जिसके लिए पीआईटीआर डेटा को मिलीसेकंड में बनाए रखा जाता है. पीआईटीआर की सुविधा बंद होने पर, यह वैल्यू एक घंटा हो सकती है. वहीं, पीआईटीआर की सुविधा चालू होने पर, यह वैल्यू सात दिन हो सकती है.

पीआईटीआर डेटा पढ़ना

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

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

Java

पीआईटीआर डेटा पढ़ने के लिए, 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 रीड तरीकों में काम करते हैं. जैसे, get, list, batchGet, listCollectionIds, listDocuments, runQuery, runAggregationQuery, और partitionQuery.

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

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

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

Apache Beam

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

पीआईटीआर रीड, Cloud FirestoreIO कनेक्टर के इस रीड तरीके में काम करते हैं. इन रीड तरीकों में, withReadTime(@Nullable Instant readTime) तरीका काम करता है. इसका इस्तेमाल पीआईटीआर रीड के लिए किया जा सकता है:

Java

बल्क में रीड या राइट ऑपरेशन के लिए, Dataflow पाइपलाइन के उदाहरण वाले कोड के साथ इस कोड का इस्तेमाल किया जा सकता है. उदाहरण में, पीआईटीआर रीड के लिए 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 के डिफ़ॉल्ट एन्क्रिप्शन या सीएमईके एन्क्रिप्शनका इस्तेमाल किया जाएगा. सीएमईके एन्क्रिप्शन के लिए, एन्क्रिप्शन का कोई दूसरा टाइप तय किया जा सकता है या कोई दूसरी कुंजी इस्तेमाल की जा सकती है.

  • टाइमस्टैंप की ग्रैन्युलैरिटी एक मिनट होती है. इससे, पीआईटीआर विंडो में तय की गई अवधि में, पिछले किसी समय के बारे में पता चलता है:

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

कंसोल

Firebase Console में, डेटाबेस क्लोन करने की सुविधा उपलब्ध नहीं है. डेटाबेस क्लोन करने के लिए, 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: सीएमईके एन्क्रिप्शन का इस्तेमाल करें. कुंजी आईडी --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: सीएमईके एन्क्रिप्शन का इस्तेमाल करें. कुंजी आईडी --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

सीमाएं

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

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

अपने डेटाबेस को पीआईटीआर डेटा से Cloud Storage में एक्सपोर्ट किया जा सकता है gcloud firestore export कमांड का इस्तेमाल करके. पीआईटीआर डेटा को एक्सपोर्ट किया जा सकता है. इसके लिए, टाइमस्टैंप पिछले सात दिनों के अंदर का पूरे मिनट का टाइमस्टैंप होना चाहिए. हालांकि, यह 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 - पीआईटीआर का टाइमस्टैंप. इसकी ग्रैन्युलैरिटी एक मिनट होती है. उदाहरण के लिए, 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'.

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

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

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