| यह सिर्फ़ Cloud Firestore Enterprise Edition के लिए काम का है. |
मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा का इस्तेमाल करके, गलती से मिटाए गए डेटा को वापस लाया जा सकता है. साथ ही, ऑफ़लाइन प्रोसेसिंग के लिए डेटा एक्सपोर्ट किया जा सकता है. आपके पास सभी दस्तावेज़ों या सिर्फ़ कुछ खास कलेक्शन को एक्सपोर्ट करने का विकल्प होता है. इसी तरह, एक्सपोर्ट किए गए डेटा या सिर्फ़ कुछ कलेक्शन को इंपोर्ट किया जा सकता है. MongoDB के साथ काम करने वाले एक Cloud Firestore डेटाबेस से एक्सपोर्ट किए गए डेटा को, MongoDB के साथ काम करने वाले दूसरे Cloud Firestore डेटाबेस में इंपोर्ट किया जा सकता है. आपके पास, MongoDB के साथ काम करने वाले Cloud Firestore के एक्सपोर्ट किए गए डेटा को BigQuery में लोड करने का विकल्प भी है.
इस पेज पर, मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा और Cloud Storage का इस्तेमाल करके, MongoDB के साथ काम करने वाले Cloud Firestore दस्तावेज़ों को एक्सपोर्ट और इंपोर्ट करने का तरीका बताया गया है. MongoDB के साथ काम करने वाली Cloud Firestore की मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा, gcloud कमांड-लाइन टूल और MongoDB के साथ काम करने वाली Cloud Firestore API (REST, RPC) के ज़रिए उपलब्ध है.
शुरू करने से पहले
मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा का इस्तेमाल करने से पहले, आपको ये काम पूरे करने होंगे:
- अपने Google Cloud प्रोजेक्ट के लिए बिलिंग चालू करें. एक्सपोर्ट और इंपोर्ट करने की सुविधा का इस्तेमाल सिर्फ़ उन Google Cloud प्रोजेक्ट के लिए किया जा सकता है जिनमें बिलिंग की सुविधा चालू है.
- Cloud Firestore with MongoDB compatibility डेटाबेस की जगह के आस-पास की किसी जगह पर, अपने प्रोजेक्ट के लिए Cloud Storage बकेट बनाएं. एक्सपोर्ट और इंपोर्ट करने के लिए, अनुरोध करने वाले के लिए पेमेंट करने वाले बकेट का इस्तेमाल नहीं किया जा सकता.
-
पक्का करें कि आपके खाते के पास, MongoDB के साथ काम करने वाले Cloud Firestore और Cloud Storage के लिए ज़रूरी अनुमतियां हों. अगर आप प्रोजेक्ट के मालिक हैं, तो आपके खाते के पास ज़रूरी अनुमतियां हैं. इसके अलावा, यहां दी गई भूमिकाओं के पास एक्सपोर्ट और इंपोर्ट करने के लिए ज़रूरी अनुमतियां होती हैं. साथ ही, इनके पास Cloud Storage को ऐक्सेस करने की अनुमति भी होती है:
- MongoDB के साथ काम करने वाले Cloud Firestore के लिए भूमिकाएं:
Owner,Cloud Datastore OwnerयाCloud Datastore Import Export Admin Cloud Storage भूमिकाएं:
OwnerयाStorage Admin
- MongoDB के साथ काम करने वाले Cloud Firestore के लिए भूमिकाएं:
सर्विस एजेंट की अनुमतियां
एक्सपोर्ट और इंपोर्ट करने की कार्रवाइयों में, Cloud Firestore सेवा एजेंट का इस्तेमाल किया जाता है. इससे Cloud Storage कार्रवाइयों को अनुमति दी जाती है. 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 Storage सेवा एजेंट को Cloud Storage बकेट का ऐक्सेस देना होगा.Cloud Firestore
सर्विस एजेंट को भूमिकाएं असाइन करना
नीचे दी गई भूमिकाओं में से किसी एक को असाइन करने के लिए, 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]Google Cloud SDK टूल इंस्टॉल करें और उसे इस्तेमाल करना शुरू करें.
डेटा इंपोर्ट करना
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फ़ाइल के नाम को एक जैसा रखें.सब-कलेक्शन के साथ एक्सपोर्ट किए गए डेटा को, MongoDB के साथ काम करने वाले Cloud Firestore डेटाबेस में इंपोर्ट नहीं किया जा सकता. ऐसा इसलिए, क्योंकि MongoDB के साथ काम करने वाले Cloud Firestore में सब-कलेक्शन काम नहीं करते.
Cloud Firestore Standard Edition के डेटाबेस में, BSON टाइप के साथ एक्सपोर्ट किए गए डेटा को इंपोर्ट नहीं किया जा सकता. ऐसा इसलिए, क्योंकि Cloud Firestore Standard Edition में BSON टाइप काम नहीं करते.
MongoDB के साथ काम करने वाले Cloud Firestore डेटाबेस में इंपोर्ट करने के लिए, गैर-डिफ़ॉल्ट नेमस्पेस (Datastore API) से डेटा इंपोर्ट नहीं किया जा सकता.
डेटा फ़ाइलों से, MongoDB के साथ काम करने वाले 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 बकेट के नाम से बदलें. gcloud टूल को कार्रवाई पूरी होने का इंतज़ार करने से रोकने के लिए, --async फ़्लैग जोड़ें.
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 से पहले का नहीं होना चाहिए. अगर तय किए गए टाइमस्टैंप पर डेटा मौजूद नहीं है, तो एक्सपोर्ट करने की प्रोसेस पूरी नहीं होगी.
पीआईटीआर एक्सपोर्ट करने की सुविधा में सभी फ़िल्टर काम करते हैं. इसमें सभी दस्तावेज़ एक्सपोर्ट करने और चुनिंदा कलेक्शन एक्सपोर्ट करने की सुविधा भी शामिल है.
पीआईटीआर डेटा एक्सपोर्ट करने से पहले, इन बातों का ध्यान रखें:
- टाइमस्टैंप को RFC 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, मिनट के हिसाब से PITR टाइमस्टैंप है. उदाहरण के लिए, 2023-05-26T10:20:00.00Z.
खास कलेक्शन एक्सपोर्ट करने के लिए, --collection-ids फ़्लैग जोड़ें.
एक्सपोर्ट और इंपोर्ट करने की कार्रवाइयां मैनेज करना
एक्सपोर्ट या इंपोर्ट करने की प्रोसेस शुरू करने के बाद, MongoDB के साथ काम करने वाला 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, MongoDB के साथ काम नहीं करता है, तो हो सकता है कि वह इस मेट्रिक को शामिल न करे.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 प्रोजेक्ट के लिए बिलिंग चालू करनी होगी.
एक्सपोर्ट और इंपोर्ट करने के लिए, रीड यूनिट और राइट यूनिट के हिसाब से शुल्क लिया जाता है. यह शुल्क, MongoDB के साथ काम करने वाले Cloud Firestore की कीमत में दिए गए रेट के हिसाब से लिया जाता है.
Cloud Storage में सेव की गई आउटपुट फ़ाइलें, Cloud Storage डेटा स्टोरेज की लागत में शामिल होती हैं.
एक्सपोर्ट या इंपोर्ट करने की कार्रवाइयों के पूरा होने तक, आपको Google Cloud बजट से जुड़ी सूचनाएं नहीं मिलेंगी. एक्सपोर्ट और इंपोर्ट करने से, कंसोल के इस्तेमाल वाले सेक्शन में दिखने वाले इस्तेमाल पर कोई असर नहीं पड़ेगा.
एक्सपोर्ट और इंपोर्ट करने का शुल्क देखना
एक्सपोर्ट और इंपोर्ट करने की कार्रवाइयों से, बिल की गई कार्रवाइयों पर goog-firestoremanaged:exportimport
लेबल लागू होता है. Cloud Billing की रिपोर्ट वाले पेज पर जाकर, इंपोर्ट और एक्सपोर्ट से जुड़ी लागत देखने के लिए, इस लेबल का इस्तेमाल किया जा सकता है:

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