Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

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

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

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

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

डिफ़ॉल्ट सेवा खाता अनुमतियाँ

प्रत्येक Google क्लाउड प्रोजेक्ट स्वचालित रूप से PROJECT_ID @appspot.gserviceaccount.com नामक एक डिफ़ॉल्ट सेवा खाता बनाता है। क्लाउड स्टोरेज संचालन को अधिकृत करने के लिए निर्यात और आयात संचालन इस सेवा खाते का उपयोग करते हैं।

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

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

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

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

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

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

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

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

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

गूगल क्लाउड कंसोल

  1. Google Cloud Platform कंसोल में Cloud Firestore आयात/निर्यात पृष्ठ पर जाएं।

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

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

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

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

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

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

gcloud

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

gcloud firestore export gs://[BUCKET_NAME]

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

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

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

गूगल क्लाउड कंसोल

  1. Google Cloud Platform कंसोल में Cloud Firestore आयात/निर्यात पृष्ठ पर जाएं।

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

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

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

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

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

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

gcloud

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

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

आयात आंकड़ा

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

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

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

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

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

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

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

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

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

गूगल क्लाउड कंसोल

  1. Google Cloud Platform कंसोल में Cloud Firestore आयात/निर्यात पृष्ठ पर जाएं।

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

  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 क्लाउड प्लेटफ़ॉर्म कंसोल में क्लाउड स्टोरेज ब्राउज़र में अपनी निर्यात फ़ाइलों के स्थान की पुष्टि कर सकते हैं:

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

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

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

गूगल क्लाउड कंसोल

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

gcloud

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

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

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

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

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

उदाहरण के लिए, ऑपरेशन नाम projects/[PROJECT_ID]/databases/(default)/operations/ के साथ उपसर्ग करते हैं:

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

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

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

गूगल क्लाउड कंसोल

आप Google Cloud Platform कंसोल के Cloud Firestore आयात/निर्यात पृष्ठ में हाल के निर्यात और आयात कार्यों की सूची देख सकते हैं।

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

gcloud

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

gcloud firestore operations list

ऑपरेशन की स्थिति जांचें

गूगल क्लाउड कंसोल

आप Google Cloud Platform कंसोल के Cloud Firestore आयात/निर्यात पृष्ठ में हाल के निर्यात या आयात संचालन की स्थिति देख सकते हैं।

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

gcloud

निर्यात या आयात संचालन की स्थिति दिखाने के लिए operations describe कमांड का उपयोग करें।

gcloud firestore operations describe [OPERATION_NAME]

पूरा होने के समय का अनुमान लगाएं

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

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

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

मोटे तौर पर प्रगति अनुमान के लिए अनुमानित workEstimated को workCompleted से विभाजित करें। यह अनुमान गलत हो सकता है, क्योंकि यह विलंबित सांख्यिकी संग्रह पर निर्भर करता है।

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

गूगल क्लाउड कंसोल

आप Google Cloud Platform कंसोल के Cloud Firestore आयात/निर्यात पृष्ठ में चल रहे निर्यात या आयात कार्रवाई को रद्द कर सकते हैं।

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

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

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
ऐप इंजन सेवा खाता
project_id @appspot.gserviceaccount.com

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

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

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

  1. Google Cloud Platform कंसोल में Cloud Firestore आयात/निर्यात पृष्ठ पर जाएं।

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

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

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

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

Cloud Storage बकेट अनुमतियों को चेक और अपडेट करके माइग्रेट करें

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

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

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

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

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

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

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

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

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

App Engine सेवा खाते से Cloud Firestore सेवा एजेंट में माइग्रेट करने के लिए निम्न चरणों को पूरा करें। एक बार पूरा हो जाने पर, माइग्रेशन पूर्ववत नहीं किया जा सकता है।

  1. Google Cloud Platform कंसोल में Cloud Firestore आयात/निर्यात पृष्ठ पर जाएं।

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

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

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

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

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

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

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

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

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

माइग्रेशन स्थिति देखें

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

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

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

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

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

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

  • अपने संगठन की नीति में निम्नलिखित बाधाएँ निर्धारित करें:

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

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

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

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