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

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

यह पृष्ठ बताता है कि प्रबंधित निर्यात और आयात सेवा और क्लाउड स्टोरेज का उपयोग करके क्लाउड फायरस्टोर दस्तावेज़ों को कैसे निर्यात और आयात किया जाए। क्लाउड फायरस्टोर प्रबंधित निर्यात और आयात सेवा gcloud कमांड-लाइन टूल और क्लाउड फायरस्टोर एपीआई ( 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 अपने प्रोजेक्ट नंबर से बदलें, जिसका उपयोग आपके क्लाउड फायरस्टोर सेवा एजेंट को नाम देने के लिए किया जाता है। सेवा एजेंट का नाम देखने के लिए, सेवा एजेंट का नाम देखें देखें

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

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

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

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

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

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

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

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

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

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

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

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।

  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

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

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

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

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

gcloud

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

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

निम्नलिखित को बदलें:

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

  • DATABASE : उस डेटाबेस का नाम जिससे आप दस्तावेज़ निर्यात करना चाहते हैं। डिफ़ॉल्ट डेटाबेस के लिए, --database='(default)' का उपयोग करें।

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

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

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

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।

  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

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

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

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

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

gcloud

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

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

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

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

PITR टाइमस्टैम्प से निर्यात करें

आप gcloud firestore export कमांड का उपयोग करके अपने डेटाबेस को PITR डेटा से क्लाउड स्टोरेज में निर्यात कर सकते हैं। आप PITR डेटा निर्यात कर सकते हैं जहां टाइमस्टैंप पिछले सात दिनों के भीतर पूरे मिनट का टाइमस्टैंप है, लेकिन जल्द से earliestVersionTime से पहले नहीं। यदि निर्दिष्ट टाइमस्टैम्प पर डेटा मौजूद नहीं है, तो निर्यात कार्रवाई विफल हो जाती है।

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

  1. वांछित पुनर्प्राप्ति टाइमस्टैम्प पर snapshot-time पैरामीटर निर्दिष्ट करते हुए डेटाबेस निर्यात करें।

    gcloud

    डेटाबेस को अपनी बकेट में निर्यात करने के लिए निम्न कमांड चलाएँ।

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    कहाँ,

    • PITR_TIMESTAMP - मिनट ग्रैन्युलैरिटी पर एक PITR टाइमस्टैम्प, उदाहरण के लिए, 2023-05-26T10:20:00.00Z

    PITR डेटा निर्यात करने से पहले निम्नलिखित बातों पर ध्यान दें:

    • RFC 3339 प्रारूप में टाइमस्टैम्प निर्दिष्ट करें। उदाहरण के लिए, 2020-09-01T23:59:30.234233Z
    • सुनिश्चित करें कि आपके द्वारा निर्दिष्ट टाइमस्टैम्प पिछले सात दिनों के भीतर पूरे मिनट का टाइमस्टैम्प है, लेकिन earliestVersionTime से पहले का नहीं। यदि निर्दिष्ट टाइमस्टैम्प पर डेटा मौजूद नहीं है, तो एक त्रुटि उत्पन्न होती है।
    • आपसे विफल PITR निर्यात के लिए शुल्क नहीं लिया जाएगा।

आयात आंकड़ा

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

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

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

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

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

  • .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 क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।

  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

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

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

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

gcloud

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

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]

निम्नलिखित को बदलें:

  • BUCKET_NAME/EXPORT_PREFIX : आपकी निर्यात फ़ाइलों का स्थान।

  • DATABASE : डेटाबेस का नाम. डिफ़ॉल्ट डेटाबेस के लिए, --database='(default)' का उपयोग करें।

उदाहरण के लिए:

gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'

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

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

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

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

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

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

gcloud

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

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

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

PITR निर्यात आयात करें

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

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

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

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

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

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

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

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

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

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।

  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

gcloud

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

gcloud firestore operations list

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

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

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

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।

  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

gcloud

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

gcloud firestore operations describe [OPERATION_NAME]

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

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

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

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

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

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

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

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

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।

  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

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-firestoremanaged लेबल तक पहुंचें।

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

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

BigQuery कॉलम की सीमा

BigQuery प्रति टेबल 10,000 कॉलम की सीमा लगाता है। क्लाउड फायरस्टोर निर्यात संचालन प्रत्येक संग्रह समूह के लिए एक BigQuery तालिका स्कीमा उत्पन्न करता है। इस स्कीमा में, संग्रह समूह के भीतर प्रत्येक अद्वितीय फ़ील्ड नाम एक स्कीमा कॉलम बन जाता है।

यदि किसी संग्रह समूह की BigQuery स्कीमा 10,000 कॉलम से अधिक है, तो क्लाउड फायरस्टोर निर्यात ऑपरेशन मानचित्र फ़ील्ड को बाइट्स के रूप में मानकर कॉलम सीमा के अंतर्गत रहने का प्रयास करता है। यदि यह रूपांतरण कॉलमों की संख्या 10,000 से नीचे लाता है, तो आप डेटा को BigQuery में लोड कर सकते हैं, लेकिन आप मानचित्र फ़ील्ड के भीतर उपफ़ील्ड को क्वेरी नहीं कर सकते। यदि स्तंभों की संख्या अभी भी 10,000 से अधिक है, तो निर्यात ऑपरेशन संग्रह समूह के लिए BigQuery स्कीमा उत्पन्न नहीं करता है और आप इसके डेटा को BigQuery में लोड नहीं कर सकते हैं।

निर्यात प्रारूप और मेटाडेटा फ़ाइलें

प्रबंधित निर्यात का आउटपुट लेवलडीबी लॉग प्रारूप का उपयोग करता है।

मेटाडेटा फ़ाइलें

एक निर्यात ऑपरेशन आपके द्वारा निर्दिष्ट प्रत्येक संग्रह समूह के लिए एक मेटाडेटा फ़ाइल बनाता है। मेटाडेटा फ़ाइलों को आमतौर पर 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 क्लाउड प्लेटफ़ॉर्म कंसोल में आयात/निर्यात पृष्ठ से देख सकते हैं कि आपके आयात और निर्यात संचालन अनुरोधों को अधिकृत करने के लिए किस खाते का उपयोग करते हैं। आप यह भी देख सकते हैं कि क्या आपका डेटाबेस पहले से ही क्लाउड फायरस्टोर सेवा एजेंट का उपयोग करता है।

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।
  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

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

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

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

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

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

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

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

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

service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com सेवा एजेंट। सेवा एजेंट को Firestore Service Agent भूमिका प्रदान करें।

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

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

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

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

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।
  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

    बकेट स्थिति जांचें पर क्लिक करें.

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

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

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

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

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

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

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

अपने प्रोजेक्ट की माइग्रेशन स्थिति सत्यापित करने के लिए:

  1. Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।

    डेटाबेस पर जाएँ

  2. डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।
  3. नेविगेशन मेनू में, आयात/निर्यात पर क्लिक करें।

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

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

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

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

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

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

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

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

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