मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा का इस्तेमाल करके, गलती से मिटाए गए डेटा को वापस लाया जा सकता है. साथ ही, ऑफ़लाइन प्रोसेसिंग के लिए डेटा एक्सपोर्ट किया जा सकता है. आपके पास सभी दस्तावेज़ या सिर्फ़ कुछ खास कलेक्शन एक्सपोर्ट करने का विकल्प होता है. इसी तरह, एक्सपोर्ट किए गए सभी डेटा को इंपोर्ट किया जा सकता है या सिर्फ़ कुछ कलेक्शन को इंपोर्ट किया जा सकता है. एक Cloud Firestore डेटाबेस से एक्सपोर्ट किए गए डेटा को दूसरे Cloud Firestore डेटाबेस में इंपोर्ट किया जा सकता है. आपके पास BigQuery में Cloud Firestore एक्सपोर्ट लोड करने का विकल्प भी है.
इस पेज पर, मैनेज की जा रही एक्सपोर्ट और इंपोर्ट सेवा और Cloud Storage का इस्तेमाल करके, Cloud Firestore दस्तावेज़ों को एक्सपोर्ट और इंपोर्ट करने का तरीका बताया गया है. Cloud Firestore की मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा, gcloud कमांड-लाइन टूल और Cloud Firestore एपीआई (REST, RPC) के ज़रिए उपलब्ध है.
शुरू करने से पहले
मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा का इस्तेमाल करने से पहले, आपको ये टास्क पूरे करने होंगे:
- अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करें. सिर्फ़ उन Google Cloud प्रोजेक्ट के लिए एक्सपोर्ट और इंपोर्ट की सुविधा का इस्तेमाल किया जा सकता है जिनमें बिलिंग की सुविधा चालू है.
- अपने Cloud Firestore डेटाबेस की जगह के आस-पास की जगह में, अपने प्रोजेक्ट के लिए Cloud Storage बकेट बनाएं. एक्सपोर्ट और इंपोर्ट करने के लिए, अनुरोध करने वाले से शुल्क लेने वाली बकेट या रैपिड बकेट का इस्तेमाल नहीं किया जा सकता.
-
पक्का करें कि आपके खाते के पास Cloud Firestore और Cloud Storage के लिए ज़रूरी अनुमतियां हों. अगर आप प्रोजेक्ट के मालिक हैं, तो आपके खाते के पास ज़रूरी अनुमतियां हैं. इसके अलावा, यहां दी गई भूमिकाएं, एक्सपोर्ट और इंपोर्ट करने के लिए ज़रूरी अनुमतियां देती हैं. साथ ही, Cloud Storage को ऐक्सेस करने की अनुमति भी देती हैं:
- Cloud Firestore की भूमिकाएं:
Owner,Cloud Datastore OwnerयाCloud Datastore Import Export Admin Cloud Storage भूमिकाएं:
OwnerयाStorage Admin
- Cloud Firestore की भूमिकाएं:
सर्विस एजेंट के लिए अनुमतियां
एक्सपोर्ट और इंपोर्ट की कार्रवाइयां, Cloud Storage कार्रवाइयों को अनुमति देने के लिए, Cloud Firestore सर्विस एजेंट का इस्तेमाल करती हैं. Cloud Firestore सर्विस एजेंट, नाम रखने के लिए इस फ़ॉर्मैट का इस्तेमाल करता है:
- Cloud Firestore सर्विस एजेंट
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
सर्विस एजेंट के बारे में ज़्यादा जानने के लिए, सर्विस एजेंट देखें.
Cloud Firestore सर्विस एजेंट को, एक्सपोर्ट या इंपोर्ट ऑपरेशन में इस्तेमाल की गई Cloud Storage बकेट का ऐक्सेस चाहिए. अगर आपकी Cloud Storage बकेट उसी प्रोजेक्ट में है जिसमें आपका Cloud Firestore डेटाबेस है, तो Cloud Firestore सर्विस एजेंट डिफ़ॉल्ट रूप से बकेट को ऐक्सेस कर सकता है.
अगर Cloud Storage बकेट किसी दूसरे प्रोजेक्ट में है, तो आपको Cloud Firestore सर्विस एजेंट को Cloud Storage बकेट का ऐक्सेस देना होगा.
सर्विस एजेंट को भूमिकाएं असाइन करना
gsutil कमांड-लाइन टूल का इस्तेमाल करके, इनमें से कोई एक भूमिका असाइन की जा सकती है. उदाहरण के लिए, Cloud Firestore सर्विस एजेंट को स्टोरेज एडमिन की भूमिका असाइन करने के लिए, यह कमांड चलाएं:
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \ gs://[BUCKET_NAME]
PROJECT_NUMBER को अपने प्रोजेक्ट नंबर से बदलें. इसका इस्तेमाल, आपके Cloud Firestore सर्विस एजेंट को नाम देने के लिए किया जाता है. सर्विस एजेंट का नाम देखने के लिए, सर्विस एजेंट का नाम देखना लेख पढ़ें.
इसके अलावा, Google Cloud Console का इस्तेमाल करके भी यह भूमिका असाइन की जा सकती है.
सर्विस एजेंट का नाम देखना
Google Cloud Console में इंपोर्ट/एक्सपोर्ट पेज पर जाकर, वह खाता देखा जा सकता है जिसका इस्तेमाल आपके इंपोर्ट और एक्सपोर्ट के अनुरोधों को अनुमति देने के लिए किया जाता है. यह भी देखा जा सकता है कि आपका डेटाबेस, Cloud Firestore सर्विस एजेंट का इस्तेमाल करता है या लेगसी App Engine सेवा खाते का.
- इंपोर्ट/एक्सपोर्ट जॉब को इस तौर पर चलाएं लेबल के बगल में, अनुमति वाला खाता देखें.
एक्सपोर्ट या इंपोर्ट करने के लिए, सर्विस एजेंट के पास Cloud Storage बकेट के लिए Storage Admin की भूमिका होनी चाहिए.
अपने प्रोजेक्ट के लिए gcloud सेट अप करना
Google Cloud Console या gcloud कमांड-लाइन टूल की मदद से, डेटा इंपोर्ट और एक्सपोर्ट करने की प्रोसेस शुरू की जा सकती है. gcloud का इस्तेमाल करने के लिए, कमांड-लाइन टूल सेट अप करें और इनमें से किसी एक तरीके से अपने प्रोजेक्ट से कनेक्ट करें:
Cloud Shell का इस्तेमाल करके, Google Cloud कंसोल से
gcloudको ऐक्सेस करें.पक्का करें कि
gcloudको सही प्रोजेक्ट के लिए कॉन्फ़िगर किया गया हो:gcloud config set project [PROJECT_ID]
डेटा इंपोर्ट करना
Cloud Storage में फ़ाइलें एक्सपोर्ट करने के बाद, उन फ़ाइलों में मौजूद दस्तावेज़ों को अपने प्रोजेक्ट या किसी दूसरे प्रोजेक्ट में वापस इंपोर्ट किया जा सकता है. इंपोर्ट करने की प्रोसेस के बारे में इन बातों का ध्यान रखें:
डेटा इंपोर्ट करने पर, आपके डेटाबेस की मौजूदा इंडेक्स डेफ़िनिशन का इस्तेमाल करके, ज़रूरी इंडेक्स अपडेट किए जाते हैं. एक्सपोर्ट किए गए डेटा में इंडेक्स की परिभाषाएं शामिल नहीं होती हैं.
इंपोर्ट करने पर, नए दस्तावेज़ आईडी असाइन नहीं किए जाते. इंपोर्ट के लिए, एक्सपोर्ट के समय कैप्चर किए गए आईडी का इस्तेमाल किया जाता है. दस्तावेज़ इंपोर्ट होने के दौरान, उसका आईडी रिज़र्व कर लिया जाता है, ताकि आईडी आपस में न टकराएं. अगर उसी आईडी वाला कोई दस्तावेज़ पहले से मौजूद है, तो इंपोर्ट करने पर मौजूदा दस्तावेज़ को ओवरराइट कर दिया जाता है.
अगर आपके डेटाबेस में मौजूद किसी दस्तावेज़ पर इंपोर्ट का असर नहीं पड़ता है, तो वह इंपोर्ट के बाद भी आपके डेटाबेस में मौजूद रहेगा.
.overall_export_metadataफ़ाइल नाम, उसके पैरंट फ़ोल्डर के नाम से मेल खाना चाहिए:gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/PARENT_FOLDER_NAME/PARENT_FOLDER_NAME.overall_export_metadataअगर एक्सपोर्ट की गई आउटपुट फ़ाइलों को किसी दूसरी जगह ले जाया जाता है या कॉपी किया जाता है, तो PARENT_FOLDER_NAME और
.overall_export_metadataफ़ाइल का नाम एक जैसा रखें.सब-कलेक्शन वाले एक्सपोर्ट से Cloud Firestore डेटाबेस में इंपोर्ट नहीं किया जा सकता, क्योंकि Cloud Firestore में सब-कलेक्शन काम नहीं करते.
BSON टाइप वाले एक्सपोर्ट से, Firestore स्टैंडर्ड वर्शन के डेटाबेस में इंपोर्ट नहीं किया जा सकता. ऐसा इसलिए, क्योंकि Firestore स्टैंडर्ड वर्शन में BSON टाइप का इस्तेमाल नहीं किया जा सकता.
Cloud Firestore डेटाबेस में इंपोर्ट करने पर, नॉन-डिफ़ॉल्ट नेमस्पेस (Datastore एपीआई) से डेटा इंपोर्ट नहीं किया जा सकता.
डिफ़ॉल्ट नेमस्पेस के अलावा अन्य नेमस्पेस वाली डेटा फ़ाइलों से Cloud Firestore डेटाबेस में डेटा इंपोर्ट करने की अनुमति सिर्फ़ तब मिलती है, जब एक्सपोर्ट की प्रोसेस में डिफ़ॉल्ट नेमस्पेस के साथ
--namespace-idsफ़िल्टर शामिल किया गया हो. सिर्फ़ डिफ़ॉल्ट नेमस्पेस का डेटा इंपोर्ट किया जाता है.
एक्सपोर्ट की गई सभी फ़ाइलों को इंपोर्ट करना
Google Cloud Console
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस की सूची में से कोई डेटाबेस चुनें.
नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
इंपोर्ट करें पर क्लिक करें.
फ़ाइल नाम फ़ील्ड में, एक्सपोर्ट की गई
.overall_export_metadataफ़ाइल का नाम डालें. फ़ाइल चुनने के लिए, ब्राउज़ करें बटन का इस्तेमाल किया जा सकता है.इंपोर्ट करें पर क्लिक करें.
इसके बाद, कंसोल आपको इंपोर्ट/एक्सपोर्ट पेज पर वापस ले जाता है. अगर कार्रवाई सही तरीके से शुरू हो जाती है, तो पेज पर हाल ही में इंपोर्ट और एक्सपोर्ट किए गए डेटा वाले पेज पर एक एंट्री जुड़ जाती है. कनेक्ट न होने पर, पेज पर गड़बड़ी का मैसेज दिखता है.
gcloud
पिछले एक्सपोर्ट ऑपरेशन से दस्तावेज़ों को इंपोर्ट करने के लिए, firestore import कमांड का इस्तेमाल करें.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]
इनकी जगह ये डालें:
BUCKET_NAME/EXPORT_PREFIX: एक्सपोर्ट की गई फ़ाइलों की जगह.DATABASE: डेटाबेस का नाम.
उदाहरण के लिए:
gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'
एक्सपोर्ट की गई फ़ाइलों की जगह की पुष्टि, Google Cloud Console में Cloud Storage ब्राउज़र में जाकर की जा सकती है:
इंपोर्ट की प्रोसेस शुरू होने के बाद, टर्मिनल को बंद करने से प्रोसेस रद्द नहीं होती. प्रोसेस रद्द करने का तरीका देखें.
चुनिंदा कलेक्शन इंपोर्ट करना
Google Cloud Console
कंसोल में, खास कलेक्शन नहीं चुने जा सकते. इसके बजाय, gcloud का इस्तेमाल करें.
gcloud
एक्सपोर्ट की गई फ़ाइलों के सेट से कुछ कलेक्शन इंपोर्ट करने के लिए, --collection-ids फ़्लैग का इस्तेमाल करें. यह ऑपरेशन, सिर्फ़ उन कलेक्शन को इंपोर्ट करता है जिनके आईडी दिए गए हैं.
--database फ़्लैग का इस्तेमाल करके, डेटाबेस का नाम बताएं.
सिर्फ़ खास कलेक्शन को एक्सपोर्ट करने पर, खास कलेक्शन को इंपोर्ट करने की सुविधा काम करती है. सभी दस्तावेज़ों के एक्सपोर्ट से, चुनिंदा कलेक्शन इंपोर्ट नहीं किए जा सकते.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2] \ --database=[DATABASE]
पीआईटीआर डेटा वाले एक्सपोर्ट से इंपोर्ट करना
पीआईटीआर डेटा इंपोर्ट करने के लिए, सभी दस्तावेज़ इंपोर्ट करें या चुनिंदा कलेक्शन इंपोर्ट करें में बताया गया तरीका अपनाएं. अगर आपके डेटाबेस में कोई दस्तावेज़ पहले से मौजूद है, तो उसे ओवरराइट कर दिया जाएगा.
डेटा एक्सपोर्ट करें
एक्सपोर्ट करने की प्रोसेस, आपके डेटाबेस में मौजूद दस्तावेज़ों को Cloud Storage बकेट में मौजूद फ़ाइलों के सेट में कॉपी करती है. ध्यान दें कि एक्सपोर्ट किया गया डेटा, एक्सपोर्ट शुरू होने के समय लिए गए डेटाबेस स्नैपशॉट से पूरी तरह मेल नहीं खाता. एक्सपोर्ट में, कार्रवाई के दौरान किए गए बदलाव शामिल हो सकते हैं.
सभी दस्तावेज़ एक्सपोर्ट करना
Google Cloud Console
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस की सूची से वह डेटाबेस चुनें जिसकी ज़रूरत हो.
नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
एक्सपोर्ट करें पर क्लिक करें.
पूरा डेटाबेस एक्सपोर्ट करें विकल्प पर क्लिक करें.
मौजूदा डेटा एक्सपोर्ट करने के लिए, डेटाबेस की मौजूदा स्थिति एक्सपोर्ट करें को चुनें.
डेस्टिनेशन सेक्शन में, Cloud Storage बकेट का नाम डालें या बकेट चुनने के लिए, ब्राउज़ करें बटन का इस्तेमाल करें.
एक्सपोर्ट करें पर क्लिक करें.
इसके बाद, कंसोल आपको इंपोर्ट/एक्सपोर्ट पेज पर वापस ले जाता है. अगर कार्रवाई सही तरीके से शुरू हो जाती है, तो पेज पर हाल ही में इंपोर्ट और एक्सपोर्ट किए गए डेटा वाले पेज पर एक एंट्री जुड़ जाती है. कनेक्ट न होने पर, पेज पर गड़बड़ी का मैसेज दिखता है.
gcloud
अपने डेटाबेस में मौजूद सभी दस्तावेज़ों को एक्सपोर्ट करने के लिए, firestore export कमांड का इस्तेमाल करें. साथ ही, [BUCKET_NAME] को अपनी Cloud Storage बकेट के नाम से बदलें. --async फ़्लैग जोड़ें, ताकि gcloud टूल को कार्रवाई पूरी होने का इंतज़ार न करना पड़े.
gcloud firestore export gs://[BUCKET_NAME] \ --database=[DATABASE]
इनकी जगह ये डालें:
BUCKET_NAME: बकेट के नाम के बाद फ़ाइल प्रीफ़िक्स जोड़कर, एक्सपोर्ट किए गए डेटा को व्यवस्थित करें. उदाहरण के लिए,BUCKET_NAME/my-exports-folder/export-name. अगर आपने फ़ाइल का प्रीफ़िक्स नहीं दिया है, तो मैनेज की गई एक्सपोर्ट सेवा, मौजूदा टाइमस्टैंप के आधार पर एक प्रीफ़िक्स बनाती है.DATABASE: उस डेटाबेस का नाम जिससे आपको दस्तावेज़ एक्सपोर्ट करने हैं.
एक्सपोर्ट की प्रोसेस शुरू होने के बाद, टर्मिनल को बंद करने से प्रोसेस रद्द नहीं होती. प्रोसेस रद्द करने का तरीका देखें.
चुनिंदा कलेक्शन एक्सपोर्ट करना
Google Cloud Console
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस की सूची से वह डेटाबेस चुनें जिसकी ज़रूरत हो.
नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
एक्सपोर्ट करें पर क्लिक करें.
एक या उससे ज़्यादा कलेक्शन ग्रुप एक्सपोर्ट करें विकल्प पर क्लिक करें. एक या उससे ज़्यादा कलेक्शन चुनने के लिए, ड्रॉप-डाउन मेन्यू का इस्तेमाल करें.
मौजूदा डेटा एक्सपोर्ट करने के लिए, डेटाबेस की मौजूदा स्थिति एक्सपोर्ट करें को चुनें.
डेस्टिनेशन सेक्शन में, Cloud Storage बकेट का नाम डालें या बकेट चुनने के लिए, ब्राउज़ करें बटन का इस्तेमाल करें.
एक्सपोर्ट करें पर क्लिक करें.
इसके बाद, कंसोल आपको इंपोर्ट/एक्सपोर्ट पेज पर वापस ले जाता है. अगर कार्रवाई सही तरीके से शुरू हो जाती है, तो पेज पर हाल ही में इंपोर्ट और एक्सपोर्ट किए गए डेटा वाले पेज पर एक एंट्री जुड़ जाती है. कनेक्ट न होने पर, पेज पर गड़बड़ी का मैसेज दिखता है.
gcloud
किसी खास कलेक्शन को एक्सपोर्ट करने के लिए, --collection-ids फ़्लैग का इस्तेमाल करें. यह कार्रवाई सिर्फ़ उन कलेक्शन को एक्सपोर्ट करती है जिनके कलेक्शन आईडी दिए गए हैं.
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2] \ --database=[DATABASE]
उदाहरण के लिए, foo डेटाबेस में restaurants कलेक्शन को इस तरह डिज़ाइन किया जा सकता है कि उसमें ratings, reviews या outlets जैसे अन्य कलेक्शन शामिल किए जा सकें. किसी खास कलेक्शन restaurants और reviews को एक्सपोर्ट करने के लिए, आपका कमांड इस तरह दिखता है:
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=restaurants,reviews \ --database='cymbal'
पीआईटीआर टाइमस्टैंप से एक्सपोर्ट करना
पीआईटीआर डेटा से, अपने डेटाबेस को Cloud Storage में एक्सपोर्ट किया जा सकता है.
पीआईटीआर डेटा को एक्सपोर्ट किया जा सकता है. इसके लिए, पिछले सात दिनों के दौरान का कोई भी टाइमस्टैंप चुना जा सकता है. हालांकि, यह टाइमस्टैंप earliestVersionTime से पहले का नहीं होना चाहिए. अगर तय किए गए टाइमस्टैंप पर डेटा मौजूद नहीं है, तो एक्सपोर्ट की प्रोसेस पूरी नहीं हो पाती.
पीआईटीआर एक्सपोर्ट की सुविधा, सभी फ़िल्टर के साथ काम करती है. इसमें सभी दस्तावेज़ों को एक्सपोर्ट करना और चुनिंदा कलेक्शन को एक्सपोर्ट करना शामिल है.
पीआईटीआर डेटा एक्सपोर्ट करने से पहले, इन बातों का ध्यान रखें:
- आरएफ़सी 3339 फ़ॉर्मैट में टाइमस्टैंप डालें. उदाहरण के लिए,
2020-09-01T23:59:30.234233Z. - पक्का करें कि आपने जो टाइमस्टैंप तय किया है वह पिछले सात दिनों के अंदर का हो. हालांकि, वह
earliestVersionTimeसे पहले का नहीं होना चाहिए. अगर तय किए गए टाइमस्टैंप पर डेटा मौजूद नहीं है, तो गड़बड़ी का मैसेज जनरेट होता है. - पीआईटीआर एक्सपोर्ट पूरा न होने पर, आपसे कोई शुल्क नहीं लिया जाता.
कंसोल
-
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस पर जाएं - डेटाबेस की सूची में से कोई डेटाबेस चुनें.
- नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
- एक्सपोर्ट करें पर क्लिक करें.
- एक्सपोर्ट सोर्स को कॉन्फ़िगर करें, ताकि पूरा डेटाबेस या सिर्फ़ चुनिंदा कलेक्शन एक्सपोर्ट किए जा सकें.
एक्सपोर्ट करने के लिए अपने डेटाबेस की स्थिति चुनें सेक्शन में, किसी पिछली समयावधि से एक्सपोर्ट करें को चुनें.
एक्सपोर्ट करने के लिए, स्नैपशॉट का समय चुनें
- डेस्टिनेशन सेक्शन में, Cloud Storage बकेट का नाम डालें या बकेट चुनने के लिए, ब्राउज़ करें बटन का इस्तेमाल करें.
-
एक्सपोर्ट करें पर क्लिक करें.
इसके बाद, कंसोल आपको इंपोर्ट/एक्सपोर्ट पेज पर वापस ले जाता है. अगर कार्रवाई सही तरीके से शुरू हो जाती है, तो पेज पर हाल ही में इंपोर्ट और एक्सपोर्ट किए गए डेटा वाले पेज पर एक एंट्री जुड़ जाती है. कनेक्ट न होने पर, पेज पर गड़बड़ी का मैसेज दिखता है.
gcloud
gcloud firestore export कमांड का इस्तेमाल करके, पीआईटीआर डेटा से अपने डेटाबेस को Cloud Storage में एक्सपोर्ट किया जा सकता है.
डेटाबेस को एक्सपोर्ट करें. इसके लिए, snapshot-time पैरामीटर को रिकवरी टाइमस्टैंप पर सेट करें. डेटाबेस को अपनी बकेट में एक्सपोर्ट करने के लिए, यह कमांड चलाएं.
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP]
यहां PITR_TIMESTAMP, मिनट के हिसाब से पीआईटीआर टाइमस्टैंप है. उदाहरण के लिए, 2023-05-26T10:20:00.00Z.
खास कलेक्शन एक्सपोर्ट करने के लिए, --collection-ids फ़्लैग जोड़ें.
एक्सपोर्ट और इंपोर्ट की प्रोसेस मैनेज करना
एक्सपोर्ट या इंपोर्ट की प्रोसेस शुरू होने के बाद, Cloud Firestore उस प्रोसेस को एक यूनीक नाम असाइन करता है. ऑपरेशन के नाम का इस्तेमाल करके, ऑपरेशन को मिटाया या रद्द किया जा सकता है. इसके अलावा, ऑपरेशन का स्टेटस भी देखा जा सकता है.
कार्रवाइयों के नाम से पहले projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/ लगाया जाता है. उदाहरण के लिए:
projects/my-project/databases/my-database/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
हालांकि, describe, cancel, और deleteकमांड के लिए, ऑपरेशन का नाम तय करते समय प्रीफ़िक्स को छोड़ा जा सकता है.
एक्सपोर्ट और इंपोर्ट की सभी कार्रवाइयों की सूची देखना
Google Cloud Console
Google Cloud Console के इंपोर्ट/एक्सपोर्ट पेज पर, हाल ही में किए गए एक्सपोर्ट और इंपोर्ट की सूची देखी जा सकती है.
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस की सूची से वह डेटाबेस चुनें जिसकी ज़रूरत हो.
नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
gcloud
चल रहे और हाल ही में पूरे हुए सभी एक्सपोर्ट और इंपोर्ट ऑपरेशन देखने के लिए, operations list कमांड का इस्तेमाल करें:
gcloud firestore operations list
कार्रवाई की स्थिति देखना
Google Cloud Console
Google Cloud Console के इंपोर्ट/एक्सपोर्ट पेज पर जाकर, हाल ही में किए गए एक्सपोर्ट या इंपोर्ट की स्थिति देखी जा सकती है.
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस की सूची से वह डेटाबेस चुनें जिसकी ज़रूरत हो.
नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
gcloud
एक्सपोर्ट या इंपोर्ट की कार्रवाई का स्टेटस देखने के लिए, operations describe कमांड का इस्तेमाल करें.
gcloud firestore operations describe [OPERATION_NAME]
पूरा होने में लगने वाले समय का अनुमान लगाना
लंबे समय तक चलने वाली कार्रवाई की स्थिति के अनुरोध से, मेट्रिक workEstimated और workCompleted मिलती हैं. इनमें से हर मेट्रिक, बाइट की संख्या और इकाइयों की संख्या, दोनों में दिखाई जाती है:
workEstimatedसे पता चलता है कि किसी कार्रवाई के दौरान, अनुमानित तौर पर कितने बाइट और दस्तावेज़ प्रोसेस किए जाएंगे. अगर Cloud Firestore अनुमान नहीं लगा पाता है, तो वह इस मेट्रिक को छोड़ सकता है.workCompletedसे पता चलता है कि अब तक कितने बाइट और दस्तावेज़ प्रोसेस किए गए हैं. ऑपरेशन पूरा होने के बाद, वैल्यू में प्रोसेस किए गए बाइट और दस्तावेज़ों की कुल संख्या दिखती है. यह संख्या,workEstimatedकी वैल्यू से ज़्यादा हो सकती है.
प्रोग्रेस का अनुमान लगाने के लिए, workCompleted को workEstimated से विभाजित करें. यह अनुमान गलत हो सकता है, क्योंकि यह आंकड़ों को इकट्ठा करने में हुई देरी पर निर्भर करता है.
किसी कार्रवाई को रद्द करना
Google Cloud Console
Google Cloud Console के इंपोर्ट/एक्सपोर्ट पेज पर जाकर, चल रहे एक्सपोर्ट या इंपोर्ट की प्रोसेस को रद्द किया जा सकता है.
Google Cloud console में, डेटाबेस पेज पर जाएं.
डेटाबेस की सूची से वह डेटाबेस चुनें जिसकी ज़रूरत हो.
नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.
हाल ही में इंपोर्ट और एक्सपोर्ट किए गए डेटा की टेबल में, फ़िलहाल चल रहे ऑपरेशन के लिए, पूरा हो गया कॉलम में रद्द करें बटन शामिल होता है. कार्रवाई रोकने के लिए, रद्द करें बटन पर क्लिक करें. इसके बाद, बटन पर रद्द किया जा रहा है मैसेज दिखता है. कार्रवाई पूरी तरह से रुक जाने पर, रद्द किया गया मैसेज दिखता है.

gcloud
चल रही किसी कार्रवाई को रोकने के लिए, operations cancel कमांड का इस्तेमाल करें:
gcloud firestore operations cancel [OPERATION_NAME]
चल रही किसी कार्रवाई को रद्द करने से, वह कार्रवाई पहले जैसी नहीं होती. एक्सपोर्ट की प्रोसेस रद्द करने पर, Cloud Storage में पहले से एक्सपोर्ट किए गए दस्तावेज़ों पर कोई असर नहीं पड़ेगा. इसी तरह, इंपोर्ट की प्रोसेस रद्द करने पर, आपके डेटाबेस में पहले से किए गए अपडेट पर कोई असर नहीं पड़ेगा. अधूरे एक्सपोर्ट को इंपोर्ट नहीं किया जा सकता.
किसी कार्रवाई को मिटाना
हाल ही में की गई कार्रवाइयों की सूची से किसी कार्रवाई को हटाने के लिए, gcloud firestore operations delete कमांड का इस्तेमाल करें. इस निर्देश से, Cloud Storage से एक्सपोर्ट की गई फ़ाइलें नहीं मिटेंगी.
gcloud firestore operations delete [OPERATION_NAME]
एक्सपोर्ट और इंपोर्ट की प्रोसेस के लिए बिलिंग और कीमत
मैनेज की जाने वाली एक्सपोर्ट और इंपोर्ट सेवा का इस्तेमाल करने से पहले, आपको अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करनी होगी.
एक्सपोर्ट और इंपोर्ट की कार्रवाइयों के लिए, रीड यूनिट और राइट यूनिट के हिसाब से शुल्क लिया जाता है. ये शुल्क, Cloud Firestore की कीमत में दी गई दरों के हिसाब से लिए जाते हैं.
Cloud Storage में सेव की गई आउटपुट फ़ाइलों को Cloud Storage डेटा स्टोरेज की लागत में गिना जाता है.
एक्सपोर्ट या इंपोर्ट की प्रोसेस पूरी होने तक, आपके Google Cloud बजट से जुड़ी सूचनाएं ट्रिगर नहीं होंगी. एक्सपोर्ट और इंपोर्ट की कार्रवाइयों से, कंसोल के इस्तेमाल वाले सेक्शन में दिखाए गए इस्तेमाल पर कोई असर नहीं पड़ेगा.
एक्सपोर्ट और इंपोर्ट की लागत देखना
एक्सपोर्ट और इंपोर्ट ऑपरेशन, बिल किए गए ऑपरेशन पर goog-firestoremanaged:exportimport लेबल लागू करते हैं. क्लाउड बिलिंग रिपोर्ट पेज पर, इस लेबल का इस्तेमाल करके इंपोर्ट और एक्सपोर्ट से जुड़े शुल्क देखे जा सकते हैं:

BigQuery में एक्सपोर्ट करना
Cloud Firestore एक्सपोर्ट से BigQuery में डेटा लोड किया जा सकता है. हालांकि, ऐसा सिर्फ़ तब किया जा सकता है, जब आपने collection-ids फ़िल्टर तय किया हो. Cloud Firestore एक्सपोर्ट से डेटा लोड किया जा रहा है देखें.
BigQuery में Cloud Firestore डेटा लोड करते समय, BSON डेटा टाइप को STRING डेटा टाइप के साथ दिखाया जाता है.
BigQuery कॉलम की सीमा
BigQuery में हर टेबल में ज़्यादा से ज़्यादा 10,000 कॉलम हो सकते हैं. Cloud Firestore एक्सपोर्ट ऑपरेशन, हर कलेक्शन के लिए एक BigQuery टेबल स्कीमा जनरेट करते हैं. इस स्कीमा में, कलेक्शन में मौजूद हर यूनीक फ़ील्ड का नाम, स्कीमा कॉलम बन जाता है.
अगर किसी कलेक्शन के BigQuery स्कीमा में 10,000 से ज़्यादा कॉलम हैं, तो Cloud Firestore एक्सपोर्ट की प्रोसेस, कॉलम की तय सीमा के अंदर रहने की कोशिश करती है. इसके लिए, मैप फ़ील्ड को बाइट के तौर पर माना जाता है. अगर इस कन्वर्ज़न से कॉलम की संख्या 10,000 से कम हो जाती है, तो डेटा को BigQuery में लोड किया जा सकता है. हालांकि, मैप फ़ील्ड में मौजूद सबफ़ील्ड के लिए क्वेरी नहीं की जा सकती. अगर कॉलम की संख्या अब भी 10,000 से ज़्यादा है, तो एक्सपोर्ट की प्रोसेस से कलेक्शन के लिए BigQuery स्कीमा जनरेट नहीं होता. साथ ही, इसके डेटा को BigQuery में लोड नहीं किया जा सकता.
एक्सपोर्ट फ़ॉर्मैट और मेटाडेटा फ़ाइलें
मैनेज किए गए एक्सपोर्ट का आउटपुट, LevelDB लॉग फ़ॉर्मैट का इस्तेमाल करता है.
मेटाडेटा फ़ाइलें
एक्सपोर्ट की प्रोसेस, आपके चुने गए हर कलेक्शन के लिए एक मेटाडेटा फ़ाइल बनाती है. मेटाडेटा फ़ाइलों का नाम आम तौर पर ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata होता है.
मेटाडेटा फ़ाइलें, प्रोटोकॉल बफ़र होती हैं. इन्हें protoc प्रोटोकॉल कंपाइलर की मदद से डिकोड किया जा सकता है.
उदाहरण के लिए, मेटाडेटा फ़ाइल को डिकोड करके यह पता लगाया जा सकता है कि एक्सपोर्ट की गई फ़ाइलों में कौनसे कलेक्शन शामिल हैं:
protoc --decode_raw < export0.export_metadata