Catch up on highlights from Firebase at Google I/O 2023. Learn more

डेटा निर्यात और आयात करें

डेटा के आकस्मिक विलोपन से पुनर्प्राप्त करने और ऑफ़लाइन प्रसंस्करण के लिए डेटा निर्यात करने के लिए आप Cloud Firestore प्रबंधित निर्यात और आयात सेवा का उपयोग कर सकते हैं। आप सभी दस्तावेज़ या केवल विशिष्ट संग्रह निर्यात कर सकते हैं। इसी तरह, आप निर्यात या केवल विशिष्ट संग्रह से सभी डेटा आयात कर सकते हैं। एक Cloud Firestore डेटाबेस से निर्यात किया गया डेटा दूसरे Cloud Firestore डेटाबेस में आयात किया जा सकता है। आप Cloud Firestore निर्यात को BigQuery में भी लोड कर सकते हैं।

यह पृष्ठ प्रबंधित निर्यात और आयात सेवा और क्लाउड स्टोरेज का उपयोग करके क्लाउड फायरस्टोर दस्तावेज़ों को निर्यात और आयात करने का तरीका बताता है। Cloud Firestore प्रबंधित निर्यात और आयात सेवा gcloud कमांड-लाइन टूल और Cloud Firestore API ( REST , RPC ) के माध्यम से उपलब्ध है।

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

इससे पहले कि आप प्रबंधित निर्यात और आयात सेवा का उपयोग कर सकें, आपको निम्नलिखित कार्य पूरे करने होंगे:

  1. अपने Google क्लाउड प्रोजेक्ट के लिए बिलिंग सक्षम करें। केवल बिलिंग सक्षम वाले Google क्लाउड प्रोजेक्ट निर्यात और आयात कार्यक्षमता का उपयोग कर सकते हैं।
  2. अपने प्रोजेक्ट के लिए अपने क्लाउड फायरस्टोर डेटाबेस स्थान के पास एक क्लाउड स्टोरेज बकेट बनाएं । आप निर्यात और आयात कार्यों के लिए अनुरोधकर्ता भुगतान बकेट का उपयोग नहीं कर सकते हैं।
  3. सुनिश्चित करें कि आपके खाते में क्लाउड फायरस्टोर और क्लाउड स्टोरेज के लिए आवश्यक अनुमतियां हैं। यदि आप परियोजना के स्वामी हैं, तो आपके खाते के पास आवश्यक अनुमतियाँ हैं। अन्यथा, निम्नलिखित भूमिकाएँ निर्यात और आयात संचालन और क्लाउड स्टोरेज तक पहुँच के लिए आवश्यक अनुमतियाँ प्रदान करती हैं:

सेवा एजेंट अनुमतियाँ

क्लाउड स्टोरेज संचालन को अधिकृत करने के लिए निर्यात और आयात संचालन क्लाउड फायरस्टार सेवा एजेंट का उपयोग करते हैं। क्लाउड फायरस्टार सेवा एजेंट निम्नलिखित नामकरण परंपरा का उपयोग करता है:

क्लाउड फायरस्टार सेवा एजेंट
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

सेवा एजेंटों के बारे में अधिक जानने के लिए, सेवा एजेंटों को देखें।

क्लाउड फायरस्टोर सेवा एजेंट को निर्यात या आयात संचालन में उपयोग किए जाने वाले क्लाउड स्टोरेज बकेट तक पहुंच की आवश्यकता होती है। अगर आपकी क्लाउड स्टोरेज बकेट उसी प्रोजेक्ट में है जिसमें आपका क्लाउड फायरस्टोर डेटाबेस है, तो क्लाउड फायरस्टोर सर्विस एजेंट बकेट को डिफ़ॉल्ट रूप से एक्सेस कर सकता है।

अगर क्लाउड स्टोरेज बकेट किसी अन्य प्रोजेक्ट में है, तो आपको क्लाउड फायरस्टोर सर्विस एजेंट को क्लाउड स्टोरेज बकेट का एक्सेस देना होगा।

सेवा एजेंट को भूमिकाएँ सौंपें

आप नीचे दी गई भूमिकाओं में से किसी एक को असाइन करने के लिए gsutil कमांड-लाइन टूल का उपयोग कर सकते हैं। उदाहरण के लिए, क्लाउड फायरस्टोर सर्विस एजेंट को स्टोरेज एडमिन की भूमिका सौंपने के लिए, निम्नलिखित चलाएँ:

gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \
    gs://[BUCKET_NAME]

PROJECT_NUMBER अपने प्रोजेक्ट नंबर से बदलें, जिसका उपयोग आपके Cloud Firestore सर्विस एजेंट को नाम देने के लिए किया जाता है। सेवा एजेंट का नाम देखने के लिए, सेवा एजेंट का नाम देखें देखें

वैकल्पिक रूप से, आप GCP कंसोल का उपयोग करके इस भूमिका को असाइन कर सकते हैं।

सेवा एजेंट का नाम देखें

आप वह खाता देख सकते हैं जिसका उपयोग आपके आयात और निर्यात संचालन Google क्लाउड प्लेटफ़ॉर्म कंसोल में आयात/निर्यात पृष्ठ से अनुरोधों को अधिकृत करने के लिए करते हैं। आप यह भी देख सकते हैं कि आपका डेटाबेस क्लाउड फायरस्टोर सेवा एजेंट का उपयोग करता है या लीगेसी ऐप इंजन सेवा खाते का।

  1. लेबल के रूप में चलने वाले आयात/निर्यात कार्यों के आगे प्राधिकरण खाता देखें।

निर्यात या आयात संचालन के लिए उपयोग किए जाने वाले क्लाउड स्टोरेज बकेट के लिए सेवा एजेंट को Storage Admin भूमिका की आवश्यकता होती है।

अपने प्रोजेक्ट के लिए gcloud सेट अप करें

आप Google क्लाउड प्लेटफ़ॉर्म कंसोल या gcloud कमांड-लाइन टूल के माध्यम से आयात और निर्यात संचालन आरंभ कर सकते हैं। gcloud का उपयोग करने के लिए, कमांड-लाइन टूल सेट अप करें और निम्न में से किसी एक तरीके से अपने प्रोजेक्ट से कनेक्ट करें:

निर्यात जानकारी

एक निर्यात ऑपरेशन क्लाउड स्टोरेज बकेट में फ़ाइलों के एक सेट में आपके डेटाबेस में दस्तावेज़ों की प्रतिलिपि बनाता है। ध्यान दें कि निर्यात निर्यात प्रारंभ समय पर लिया गया एक सटीक डेटाबेस स्नैपशॉट नहीं है। एक निर्यात में ऑपरेशन के चलने के दौरान किए गए परिवर्तन शामिल हो सकते हैं।

सभी दस्तावेज़ निर्यात करें

Google मेघ कंसोल

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ पर जाएं।

    आयात/निर्यात पृष्ठ पर जाएं

  2. निर्यात पर क्लिक करें।

  3. निर्यात संपूर्ण डेटाबेस विकल्प पर क्लिक करें।

  4. नीचे डेस्टिनेशन चुनें , क्लाउड स्टोरेज बकेट का नाम दर्ज करें या बकेट चुनने के लिए ब्राउज बटन का उपयोग करें।

  5. निर्यात पर क्लिक करें।

कंसोल आयात/निर्यात पृष्ठ पर वापस आ जाता है। यदि कार्रवाई सफलतापूर्वक प्रारंभ हो जाती है, तो पृष्ठ हाल के आयात और निर्यात पृष्ठ में एक प्रविष्टि जोड़ देता है। विफल होने पर, पृष्ठ एक त्रुटि संदेश प्रदर्शित करता है।

gcloud

[BUCKET_NAME] को अपने क्लाउड स्टोरेज बकेट के नाम से बदलकर, अपने डेटाबेस में सभी दस्तावेज़ों को निर्यात करने के लिए firestore export आदेश का उपयोग करें। --async फ़्लैग जोड़ें ताकि gcloud टूल को ऑपरेशन पूरा होने तक प्रतीक्षा करने से रोका जा सके.

gcloud firestore export gs://[BUCKET_NAME]

आप बकेट नाम के बाद फ़ाइल उपसर्ग जोड़कर अपने निर्यात को व्यवस्थित कर सकते हैं, उदाहरण के लिए, BUCKET_NAME/my-exports-folder/export-name यदि आप फ़ाइल उपसर्ग प्रदान नहीं करते हैं, तो प्रबंधित निर्यात सेवा वर्तमान टाइमस्टैम्प के आधार पर एक फ़ाइल बनाती है।

एक बार जब आप एक निर्यात ऑपरेशन शुरू करते हैं, तो टर्मिनल को बंद करने से ऑपरेशन रद्द नहीं होता है, एक ऑपरेशन रद्द करें देखें।

विशिष्ट संग्रह निर्यात करें

Google मेघ कंसोल

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ पर जाएं।

    आयात/निर्यात पृष्ठ पर जाएं

  2. निर्यात पर क्लिक करें।

  3. एक या अधिक संग्रह समूह निर्यात करें विकल्प पर क्लिक करें। एक या अधिक संग्रह समूहों का चयन करने के लिए ड्रॉपडाउन मेनू का उपयोग करें।

  4. नीचे डेस्टिनेशन चुनें , क्लाउड स्टोरेज बकेट का नाम दर्ज करें या बकेट चुनने के लिए ब्राउज बटन का उपयोग करें।

  5. निर्यात पर क्लिक करें।

कंसोल आयात/निर्यात पृष्ठ पर वापस आ जाता है। यदि कार्रवाई सफलतापूर्वक प्रारंभ हो जाती है, तो पृष्ठ हाल के आयात और निर्यात पृष्ठ में एक प्रविष्टि जोड़ देता है। विफल होने पर, पृष्ठ एक त्रुटि संदेश प्रदर्शित करता है।

gcloud

विशिष्ट संग्रह समूहों को निर्यात करने के लिए, --collection-ids फ़्लैग का उपयोग करें। ऑपरेशन केवल दिए गए संग्रह आईडी वाले संग्रह समूहों को निर्यात करता है। संग्रह समूह में निर्दिष्ट संग्रह आईडी के साथ सभी संग्रह और उप-संग्रह (किसी भी पथ पर) शामिल हैं।

gcloud firestore export gs://[BUCKET_NAME] --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1]

उदाहरण के लिए, आप कई उप-संग्रह, जैसे ratings , reviews , या outlets शामिल करने के लिए एक restaurants संग्रह डिज़ाइन कर सकते हैं। विशिष्ट संग्रह restaurants और reviews निर्यात करने के लिए, आपका आदेश इस प्रकार दिखता है:

gcloud firestore export gs://[BUCKET_NAME] --collection-ids=restaurants,reviews

आयात आंकड़ा

एक बार जब आपके पास क्लाउड स्टोरेज में फ़ाइलें निर्यात हो जाती हैं, तो आप उन फ़ाइलों में दस्तावेज़ वापस अपने प्रोजेक्ट या किसी अन्य प्रोजेक्ट में आयात कर सकते हैं। आयात संचालन के बारे में निम्नलिखित बिंदुओं पर ध्यान दें:

  • जब आप डेटा आयात करते हैं, तो आपके डेटाबेस की वर्तमान इंडेक्स परिभाषाओं का उपयोग करके आवश्यक इंडेक्स अपडेट किए जाते हैं। एक निर्यात में अनुक्रमणिका परिभाषाएँ नहीं होती हैं।

  • आयात नए दस्तावेज़ आईडी असाइन नहीं करते हैं। आयात निर्यात के समय कैप्चर की गई आईडी का उपयोग करता है। जैसा कि एक दस्तावेज़ आयात किया जा रहा है, आईडी टकराव को रोकने के लिए इसकी आईडी आरक्षित है। यदि समान आईडी वाला कोई दस्तावेज़ पहले से मौजूद है, तो आयात मौजूदा दस्तावेज़ को अधिलेखित कर देता है।

  • यदि आपके डेटाबेस में कोई दस्तावेज़ आयात से प्रभावित नहीं होता है, तो वह आयात के बाद आपके डेटाबेस में बना रहेगा।

  • इम्पोर्ट ऑपरेशंस क्लाउड फ़ंक्शंस को ट्रिगर नहीं करते हैं। स्नैपशॉट श्रोता आयात संचालन से संबंधित अपडेट प्राप्त करते हैं।

  • .overall_export_metadata फ़ाइल का नाम उसके मूल फ़ोल्डर के नाम से मेल खाना चाहिए:

    gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/ PARENT_FOLDER_NAME / PARENT_FOLDER_NAME .overall_export_metadata

    यदि आप निर्यात की आउटपुट फ़ाइलों को स्थानांतरित या कॉपी करते हैं, तो PARENT_FOLDER_NAME और .overall_export_metadata फ़ाइल का नाम समान रखें।

निर्यात से सभी दस्तावेज़ आयात करें

Google मेघ कंसोल

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ पर जाएं।

    आयात/निर्यात पृष्ठ पर जाएं

  2. आयात पर क्लिक करें।

  3. फ़ाइल नाम फ़ील्ड में, एक पूर्ण निर्यात कार्रवाई से एक .overall_export_metadata फ़ाइल का फ़ाइल नाम दर्ज करें। आप फ़ाइल का चयन करने में सहायता के लिए ब्राउज़ बटन का उपयोग कर सकते हैं।

  4. आयात पर क्लिक करें।

कंसोल आयात/निर्यात पृष्ठ पर वापस आ जाता है। यदि कार्रवाई सफलतापूर्वक प्रारंभ हो जाती है, तो पृष्ठ हाल के आयात और निर्यात पृष्ठ में एक प्रविष्टि जोड़ देता है। विफल होने पर, पृष्ठ एक त्रुटि संदेश प्रदर्शित करता है।

gcloud

पिछले एक्सपोर्ट ऑपरेशन से दस्तावेज़ों को आयात करने के लिए firestore import कमांड का उपयोग करें।

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

जहाँ [BUCKET_NAME] और [EXPORT_PREFIX] आपकी निर्यात फ़ाइलों के स्थान की ओर इशारा करते हैं। उदाहरण के लिए:

gcloud firestore import gs://exports-bucket/2017-05-25T23:54:39_76544/

आप Google क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड स्टोरेज ब्राउज़र में अपनी निर्यात फ़ाइलों के स्थान की पुष्टि कर सकते हैं:

क्लाउड स्टोरेज ब्राउज़र खोलें

एक बार जब आप एक आयात ऑपरेशन शुरू करते हैं, तो टर्मिनल को बंद करने से ऑपरेशन रद्द नहीं होता है, एक ऑपरेशन रद्द करें देखें।

विशिष्ट संग्रह आयात करें

Google मेघ कंसोल

आप कंसोल में विशिष्ट संग्रह का चयन नहीं कर सकते। इसके बजाय gcloud प्रयोग करें।

gcloud

निर्यात फ़ाइलों के एक सेट से विशिष्ट संग्रह समूहों को आयात करने के लिए, --collection-ids फ़्लैग का उपयोग करें। ऑपरेशन केवल दिए गए संग्रह आईडी वाले संग्रह समूहों को आयात करता है। संग्रह समूह में निर्दिष्ट संग्रह आईडी के साथ सभी संग्रह और उप-संग्रह (किसी भी पथ पर) शामिल हैं।

केवल विशिष्ट संग्रह समूहों का निर्यात विशिष्ट संग्रह समूहों के आयात का समर्थन करता है। आप सभी दस्तावेज़ों के निर्यात से विशिष्ट संग्रह आयात नहीं कर सकते।

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1]

निर्यात और आयात संचालन का प्रबंधन

आपके द्वारा निर्यात या आयात ऑपरेशन शुरू करने के बाद, Cloud Firestore ऑपरेशन को एक विशिष्ट नाम देता है। आप ऑपरेशन को हटाने, रद्द करने या स्थिति की जांच करने के लिए ऑपरेशन नाम का उपयोग कर सकते हैं।

उदाहरण के लिए, ऑपरेशन के नाम के साथ projects/[PROJECT_ID]/databases/(default)/operations/ जुड़ा हुआ है:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

हालांकि, कमांड का describe , cancel और delete के लिए ऑपरेशन नाम निर्दिष्ट करते समय आप उपसर्ग को छोड़ सकते हैं।

सभी निर्यात और आयात कार्यों की सूची बनाएं

Google मेघ कंसोल

आप Google क्लाउड प्लेटफ़ॉर्म कंसोल के क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ में हाल के निर्यात और आयात कार्यों की सूची देख सकते हैं।

आयात/निर्यात पृष्ठ पर जाएं

gcloud

सभी चल रहे और हाल ही में पूर्ण किए गए निर्यात और आयात कार्यों को देखने के लिए operations list कमांड का उपयोग करें:

gcloud firestore operations list

संचालन की स्थिति जांचें

Google मेघ कंसोल

आप Google क्लाउड प्लेटफ़ॉर्म कंसोल के क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ में हाल ही के निर्यात या आयात संचालन की स्थिति देख सकते हैं।

आयात/निर्यात पृष्ठ पर जाएं

gcloud

एक्सपोर्ट या इम्पोर्ट ऑपरेशन की स्थिति दिखाने के लिए operations describe कमांड का इस्तेमाल करें।

gcloud firestore operations describe [OPERATION_NAME]

समापन समय का अनुमान लगाएं

लंबे समय तक चलने वाले ऑपरेशन की स्थिति के लिए एक अनुरोध मेट्रिक्स workEstimated और workCompleted लौटाता है। इनमें से प्रत्येक मेट्रिक्स को बाइट्स की संख्या और संस्थाओं की संख्या दोनों में लौटाया जाता है:

  • workEstimated बाइट्स की अनुमानित कुल संख्या और एक ऑपरेशन द्वारा संसाधित किए जाने वाले दस्तावेजों को दर्शाता है। यदि यह अनुमान नहीं लगा सकता है तो Cloud Firestore इस मीट्रिक को छोड़ सकता है।

  • workCompleted अब तक प्रोसेस किए गए बाइट्स और दस्तावेज़ों की संख्या दिखाता है। ऑपरेशन पूरा होने के बाद, मान बाइट्स और दस्तावेज़ों की कुल संख्या दिखाता है जो वास्तव में संसाधित किए गए थे, जो कि workEstimated के मान से बड़ा हो सकता है।

मोटे तौर पर प्रगति के अनुमान के लिए workEstimated द्वारा पूर्ण किए गए workCompleted विभाजित करें। यह अनुमान गलत हो सकता है, क्योंकि यह विलंबित आँकड़ों के संग्रह पर निर्भर करता है।

एक ऑपरेशन रद्द करें

Google मेघ कंसोल

आप Google क्लाउड प्लेटफ़ॉर्म कंसोल के क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ में चल रहे निर्यात या आयात संचालन को रद्द कर सकते हैं।

आयात/निर्यात पृष्ठ पर जाएं

हाल के आयात और निर्यात तालिका में, वर्तमान में चल रहे कार्यों में पूर्ण कॉलम में रद्द करें बटन शामिल है। ऑपरेशन को रोकने के लिए रद्द करें बटन पर क्लिक करें। जब ऑपरेशन पूरी तरह से बंद हो जाता है तो बटन रद्द संदेश में बदल जाता है और फिर रद्द हो जाता है

gcloud

किसी ऑपरेशन को प्रगति पर रोकने के लिए operations cancel कमांड का उपयोग करें:

gcloud firestore operations cancel [OPERATION_NAME]

चल रहे ऑपरेशन को रद्द करना ऑपरेशन को पूर्ववत नहीं करता है। रद्द किया गया निर्यात ऑपरेशन क्लाउड स्टोरेज में पहले से निर्यात किए गए दस्तावेज़ों को छोड़ देगा, और रद्द किया गया आयात ऑपरेशन आपके डेटाबेस में पहले से किए गए अपडेट को छोड़ देगा। आप आंशिक रूप से पूर्ण किए गए निर्यात को आयात नहीं कर सकते।

एक ऑपरेशन हटाएं

हाल के ऑपरेशनों की सूची से किसी ऑपरेशन को हटाने के लिए gcloud firestore operations delete कमांड का उपयोग करें। यह कमांड क्लाउड स्टोरेज से एक्सपोर्ट फाइल्स को डिलीट नहीं करेगा।

gcloud firestore operations delete [OPERATION_NAME]

निर्यात और आयात कार्यों के लिए बिलिंग और मूल्य निर्धारण

प्रबंधित निर्यात और आयात सेवा का उपयोग करने से पहले आपको अपने Google क्लाउड प्रोजेक्ट के लिए बिलिंग सक्षम करनी होगी। क्लाउड फायरस्टोर मूल्य निर्धारण में सूचीबद्ध दरों पर दस्तावेज़ पढ़ने और लिखने के लिए निर्यात और आयात संचालन का शुल्क लिया जाता है।

निर्यात और आयात परिचालनों की लागतों को आपकी व्यय सीमा में शामिल नहीं किया जाता है। निर्यात या आयात संचालन पूरा होने तक आपके Google क्लाउड बजट अलर्ट को ट्रिगर नहीं करेंगे। इसी तरह, एक्सपोर्ट या इंपोर्ट ऑपरेशन के दौरान किए गए रीड और राइट ऑपरेशन पूरा होने के बाद आपके दैनिक कोटा पर लागू होते हैं। निर्यात और आयात संचालन कंसोल के उपयोग अनुभाग में दिखाए गए उपयोग को प्रभावित नहीं करेगा।

निर्यात और आयात लागत देखना

निर्यात और आयात संचालन बिल किए गए कार्यों के लिए goog-firestoremanaged:exportimport लेबल लागू करते हैं। क्लाउड बिलिंग रिपोर्ट पृष्ठ में, आप इस लेबल का उपयोग आयात और निर्यात संचालन से संबंधित लागतों को देखने के लिए कर सकते हैं:

फ़िल्टर मेनू से goog-firestoreप्रबंधित लेबल तक पहुंचें.

BigQuery में निर्यात करें

आप Cloud Firestore निर्यात से डेटा को BigQuery में लोड कर सकते हैं, लेकिन केवल तभी जब आपने collection-ids फ़िल्टर निर्दिष्ट किया हो। Cloud Firestore निर्यात से डेटा लोड करना देखें।

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

सेवा एजेंट प्रवासन

क्लाउड फायरस्टोर ऐप इंजन सेवा खाते का उपयोग करने के बजाय आयात और निर्यात संचालन को अधिकृत करने के लिए क्लाउड फायरस्टोर सेवा एजेंट का उपयोग करता है। सेवा एजेंट और सेवा खाता निम्नलिखित नामकरण परिपाटियों का उपयोग करते हैं:

क्लाउड फायरस्टार सेवा एजेंट
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

Cloud Firestore ने पहले Cloud Firestore सर्विस एजेंट के बजाय App Engine डिफॉल्ट सर्विस अकाउंट का इस्तेमाल किया था। यदि आपका डेटाबेस अभी भी डेटा आयात या निर्यात करने के लिए ऐप इंजन सेवा खाते का उपयोग करता है, तो हम अनुशंसा करते हैं कि आप क्लाउड फायरस्टोर सेवा एजेंट का उपयोग करने के लिए माइग्रेट करने के लिए इस अनुभाग में दिए गए निर्देशों का पालन करें।

ऐप इंजन सेवा खाता
PROJECT_ID @appspot.gserviceaccount.com

क्लाउड फायरस्टोर सर्विस एजेंट बेहतर है क्योंकि यह क्लाउड फायरस्टोर के लिए विशिष्ट है। ऐप इंजन सेवा खाता एक से अधिक सेवाओं द्वारा साझा किया जाता है।

प्राधिकरण खाता देखें

आप देख सकते हैं कि Google क्लाउड प्लेटफ़ॉर्म कंसोल में आयात/निर्यात पृष्ठ से अनुरोधों को अधिकृत करने के लिए आपके आयात और निर्यात संचालन किस खाते का उपयोग करते हैं। आप यह भी देख सकते हैं कि आपका डेटाबेस पहले से ही Cloud Firestore सर्विस एजेंट का उपयोग करता है या नहीं।

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ पर जाएं।

    आयात/निर्यात पर जाएं

  2. लेबल के रूप में चलने वाले आयात/निर्यात कार्यों के आगे प्राधिकरण खाता देखें।

अगर आपका प्रोजेक्ट Cloud Firestore सर्विस एजेंट का इस्तेमाल नहीं करता है, तो आप इनमें से किसी भी तकनीक का इस्तेमाल करके Cloud Firestore सर्विस एजेंट में माइग्रेट कर सकते हैं:

इनमें से पहली तकनीक बेहतर है क्योंकि यह एकल क्लाउड फायरस्टोर परियोजना के प्रभाव के दायरे को स्थानीय बनाती है। दूसरी तकनीक को प्राथमिकता नहीं दी जाती है क्योंकि यह मौजूदा क्लाउड स्टोरेज बकेट अनुमतियों को माइग्रेट नहीं करती है। हालाँकि, यह संगठन स्तर पर सुरक्षा अनुपालन प्रदान करता है।

क्लाउड स्टोरेज बकेट अनुमतियों की जाँच और अद्यतन करके माइग्रेट करें

माइग्रेशन प्रक्रिया के दो चरण होते हैं:

  1. क्लाउड स्टोरेज बकेट अनुमतियां अपडेट करें। विवरण के लिए निम्न अनुभाग देखें।
  2. Cloud Firestore सर्विस एजेंट में माइग्रेशन की पुष्टि करें।

सेवा एजेंट बकेट अनुमतियाँ

किसी अन्य प्रोजेक्ट में क्लाउड स्टोरेज बकेट का उपयोग करने वाले किसी भी निर्यात या आयात संचालन के लिए, आपको उस बकेट के लिए क्लाउड फायरस्टोर सेवा एजेंट अनुमतियां देनी होंगी। उदाहरण के लिए, डेटा को किसी अन्य प्रोजेक्ट में ले जाने वाले ऑपरेशंस को उस अन्य प्रोजेक्ट में बकेट एक्सेस करने की आवश्यकता होती है। अन्यथा, Cloud Firestore सर्विस एजेंट में माइग्रेट करने के बाद ये ऑपरेशन विफल हो जाते हैं।

एक ही प्रोजेक्ट के भीतर रहने वाले आयात और निर्यात कार्यप्रवाहों को अनुमतियों में बदलाव की आवश्यकता नहीं होती है। Cloud Firestore सर्विस एजेंट डिफ़ॉल्ट रूप से उसी प्रोजेक्ट में बकेट एक्सेस कर सकता है।

service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com सर्विस एजेंट को एक्सेस देने के लिए अन्य प्रोजेक्ट से क्लाउड स्टोरेज बकेट की अनुमतियों को अपडेट करें। सर्विस एजेंट को Firestore Service Agent भूमिका प्रदान करें।

Firestore Service Agent भूमिका क्लाउड स्टोरेज बकेट के लिए पढ़ने और लिखने की अनुमति देती है। यदि आपको केवल पढ़ने या केवल लिखने की अनुमति देने की आवश्यकता है, तो एक कस्टम भूमिका का उपयोग करें।

निम्नलिखित अनुभाग में वर्णित माइग्रेशन प्रक्रिया आपको क्लाउड स्टोरेज बकेट की पहचान करने में मदद करती है जिसके लिए अनुमति अपडेट की आवश्यकता हो सकती है।

किसी प्रोजेक्ट को Firestore सर्विस एजेंट के पास माइग्रेट करें

ऐप इंजन सेवा खाते से क्लाउड फायरस्टोर सेवा एजेंट में माइग्रेट करने के लिए निम्न चरणों को पूरा करें। एक बार पूर्ण हो जाने के बाद, माइग्रेशन पूर्ववत नहीं किया जा सकता.

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड फायरस्टोर आयात/निर्यात पृष्ठ पर जाएं।

    आयात/निर्यात पर जाएं

  2. यदि आपका प्रोजेक्ट अभी तक Cloud Firestore सर्विस एजेंट में माइग्रेट नहीं हुआ है, तो आपको माइग्रेशन का वर्णन करने वाला एक बैनर और चेक बकेट स्टेटस बटन दिखाई देगा। अगला चरण संभावित अनुमति त्रुटियों को पहचानने और ठीक करने में आपकी सहायता करता है।

    चेक बकेट स्थिति पर क्लिक करें।

    आपके माइग्रेशन को पूरा करने के विकल्प और क्लाउड स्टोरेज बकेट की सूची के साथ एक मेनू दिखाई देता है। सूची को लोड होने में कुछ मिनट लग सकते हैं।

    इस सूची में वे बकेट शामिल हैं जिनका हाल ही में आयात और निर्यात संचालन में उपयोग किया गया था, लेकिन वर्तमान में क्लाउड फायरस्टोर सेवा एजेंट को पढ़ने और लिखने की अनुमति नहीं देते हैं।

  3. अपने प्रोजेक्ट के Cloud Firestore सर्विस एजेंट के मुख्य नाम पर ध्यान दें। लेबल तक पहुंच प्रदान करने के लिए सेवा एजेंट का नाम सेवा एजेंट के अंतर्गत दिखाई देता है।
  4. सूची में किसी बकेट के लिए जिसका उपयोग आप भविष्य के आयात या निर्यात संचालन के लिए करेंगे, निम्नलिखित चरणों को पूरा करें:

    1. इस बकेट की तालिका पंक्ति में, ठीक करें पर क्लिक करें। यह उस बकेट के अनुमति पृष्ठ को एक नए टैब में खोलता है।

    2. जोड़ें पर क्लिक करें।
    3. न्यू प्रिंसिपल्स फील्ड में, अपने क्लाउड फायरस्टोर सर्विस एजेंट का नाम दर्ज करें।
    4. एक भूमिका चुनें फ़ील्ड में, सेवा एजेंट > फायरस्टोर सेवा एजेंट चुनें।
    5. सहेजें पर क्लिक करें।
    6. Cloud Firestore इम्पोर्ट/एक्सपोर्ट पेज वाले टैब पर वापस लौटें।
    7. सूची में अन्य बकेट के लिए इन चरणों को दोहराएं। सूची के सभी पृष्ठों को देखना सुनिश्चित करें।
  5. माइग्रेट टू फायरस्टोर सर्विस एजेंट पर क्लिक करें। यदि आपके पास अभी भी विफल अनुमति जांच वाली बकेट हैं, तो आपको माइग्रेट पर क्लिक करके अपने माइग्रेशन की पुष्टि करनी होगी।

    आपका माइग्रेशन पूरा होने पर एक अलर्ट आपको सूचित करता है। माइग्रेशन पूर्ववत नहीं किया जा सकता.

प्रवासन स्थिति देखें

  1. अपने प्रोजेक्ट की माइग्रेशन स्थिति सत्यापित करने के लिए, Google क्लाउड प्लेटफ़ॉर्म कंसोल में आयात/निर्यात पृष्ठ पर जाएँ:

    आयात/निर्यात पर जाएं

  2. लेबल के रूप में चलाए जाने वाले आयात/निर्यात कार्यों के आगे प्रधान को देखें।

    अगर प्रिंसिपल service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com है, तो आपका प्रोजेक्ट पहले ही Cloud Firestore सर्विस एजेंट में माइग्रेट हो चुका है। माइग्रेशन पूर्ववत नहीं किया जा सकता.

    यदि परियोजना को माइग्रेट नहीं किया गया है, तो पृष्ठ के शीर्ष पर चेक बकेट स्थिति बटन के साथ एक बैनर दिखाई देता है। माइग्रेशन पूरा करने के लिए फायरस्टोर सर्विस एजेंट को माइग्रेट करें देखें।

एक संगठन-व्यापी नीति बाधा जोड़ें

  • अपने संगठन की नीति में निम्न प्रतिबंध सेट करें:

    आयात/निर्यात के लिए फायरस्टोर सेवा एजेंट की आवश्यकता है ( firestore.requireP4SAforImportExport )।

    अनुरोधों को अधिकृत करने के लिए क्लाउड फायरस्टोर सेवा एजेंट का उपयोग करने के लिए इस बाधा को आयात और निर्यात संचालन की आवश्यकता होती है। इस बाधा को सेट करने के लिए, संगठन नीतियां बनाना और प्रबंधित करना देखें।

इस संगठनात्मक नीति बाधा को लागू करने से Cloud Firestore सर्विस एजेंट के लिए स्वचालित रूप से उपयुक्त क्लाउड स्टोरेज बकेट अनुमतियाँ नहीं मिलती हैं।

यदि बाधा किसी भी आयात या निर्यात कार्यप्रवाह के लिए अनुमति त्रुटियाँ बनाती है, तो आप इसे डिफ़ॉल्ट सेवा खाते का उपयोग करके वापस जाने के लिए अक्षम कर सकते हैं। क्लाउड स्टोरेज बकेट अनुमतियों की जांच करने और अपडेट करने के बाद, आप फिर से बाधा को सक्षम कर सकते हैं।