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

इस पेज पर, 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 लगातार अपडेट करता रहता है. हालांकि, क्वेरी किए जाने के बाद यह वैल्यू पुरानी हो जाती है. अगर डेटा वापस पाने के लिए इस वैल्यू का इस्तेमाल किया जा रहा है, तो वैल्यू के लिए क्वेरी किए जाने से लेकर डेटा वापस पाने की प्रोसेस शुरू होने तक के समय का ध्यान रखें.
    • पिछले समय की रिकवरी: अगर पीआईटीआर चालू है, तो 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. रीड मेथड के अनुरोध में, readTime वैल्यू को readOptions मेथड में, पीआईटीआर के लिए इस्तेमाल किए जा सकने वाले टाइमस्टैंप के तौर पर पास करें. पीआईटीआर टाइमस्टैंप, पिछले एक घंटे के अंदर का माइक्रोसेकंड सटीक टाइमस्टैंप या पिछले एक घंटे से ज़्यादा का पूरा मिनट टाइमस्टैंप हो सकता है. हालांकि, यह earliestVersionTime से पहले का नहीं हो सकता.

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

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 कंसोल में, डेटाबेस को क्लोन करने की सुविधा काम नहीं करती. डेटाबेस को क्लोन करने के लिए, 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

सीमाएं

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

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

gcloud firestore export कमांड का इस्तेमाल करके, पीआईटीआर डेटा से अपने डेटाबेस को 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 - मिनट के हिसाब से पीआईटीआर टाइमस्टैंप, जैसे कि 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. डेटाबेस में इंपोर्ट करना.

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