डेटा एक्सपोर्ट और इंपोर्ट करना

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

इस पेज में बताया गया है कि Cloud Firestore दस्तावेज़ों को एक्सपोर्ट और इंपोर्ट करने का तरीका क्या है और Cloud Storage को मैनेज कर सकते हैं. कॉन्टेंट बनाने Cloud Firestore की मैनेज की गई एक्सपोर्ट और इंपोर्ट सेवा इनके ज़रिए उपलब्ध है gcloud कमांड-लाइन टूल और Cloud Firestore एपीआई (REST, RPC).

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

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

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

सर्विस एजेंट की अनुमतियां

एक्सपोर्ट और इंपोर्ट से जुड़ी कार्रवाइयां, इन कामों के लिए 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 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 सर्विस एजेंट को नाम देने के लिए किया जाता है. देखने के लिए सर्विस एजेंट का नाम, सर्विस एजेंट का नाम देखें देखें.

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

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

उस खाते को देखा जा सकता है जिसका इस्तेमाल, इंपोर्ट और एक्सपोर्ट की कार्रवाई को अनुमति देने के लिए किया जाता है Google Cloud Platform कंसोल में इंपोर्ट/एक्सपोर्ट पेज से किए गए अनुरोध देखें. आप यह भी कर सकते हैं देखें कि आपका डेटाबेस Cloud Firestore का इस्तेमाल करता है या नहीं या लेगसी App Engine सेवा खाते का इस्तेमाल करके ऐसा किया जा सकता है.

  1. इसके आगे मौजूद प्राधिकरण खाता देखें इंपोर्ट/एक्सपोर्ट के टास्क लेबल के तौर पर चलते हैं.

Cloud Storage के लिए सर्विस एजेंट को Storage Admin की भूमिका की ज़रूरत होगी एक्सपोर्ट या इंपोर्ट कार्रवाई के लिए इस्तेमाल किया जाने वाला बकेट.

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

Google Cloud Platform Console से इंपोर्ट और एक्सपोर्ट की कार्रवाइयां शुरू की जा सकती हैं या gcloud कमांड-लाइन टूल. gcloud का इस्तेमाल करने के लिए, कमांड-लाइन टूल सेट अप करें और इनमें से किसी एक तरीके से अपने प्रोजेक्ट से कनेक्ट करें:

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

निर्यात कार्रवाई आपके डेटाबेस के दस्तावेज़ों को Cloud Storage बकेट. ध्यान दें कि एक्सपोर्ट, सटीक डेटाबेस स्नैपशॉट नहीं है एक्सपोर्ट शुरू होने के समय पर. एक्सपोर्ट में, कार्रवाई के दौरान किए गए बदलाव शामिल हो सकते हैं चला रहा था.

सभी दस्तावेज़ एक्सपोर्ट करें

Google Cloud Console

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.

  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

  4. एक्सपोर्ट करें पर क्लिक करें.

  5. पूरा डेटाबेस एक्सपोर्ट करें विकल्प पर क्लिक करें.

  6. डेस्टिनेशन चुनें के नीचे, Cloud Storage बकेट का नाम डालें या कोई बकेट चुनने के लिए ब्राउज़ करें बटन का इस्तेमाल करें.

  7. एक्सपोर्ट करें पर क्लिक करें.

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

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: उस डेटाबेस का नाम जिससे आपको एक्सपोर्ट करना है दस्तावेज़ नहीं हैं. डिफ़ॉल्ट डेटाबेस के लिए, --database='(default)' का इस्तेमाल करें.

एक्सपोर्ट की कार्रवाई शुरू करने के बाद, टर्मिनल को बंद करने से कार्रवाई, कोई कार्रवाई रद्द करें देखें.

खास कलेक्शन को एक्सपोर्ट करना

Google Cloud Console

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.

  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

  4. एक्सपोर्ट करें पर क्लिक करें.

  5. एक या उससे ज़्यादा कलेक्शन ग्रुप एक्सपोर्ट करें विकल्प पर क्लिक करें. ड्रॉपडाउन का इस्तेमाल करना एक या ज़्यादा संग्रह समूह चुनने के लिए मेन्यू.

  6. डेस्टिनेशन चुनें के नीचे, Cloud Storage बकेट का नाम डालें या कोई बकेट चुनने के लिए ब्राउज़ करें बटन का इस्तेमाल करें.

  7. एक्सपोर्ट करें पर क्लिक करें.

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

gcloud

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

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

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

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

पीआईपी (पिक्चर में पिक्चर) टाइमस्टैंप से एक्सपोर्ट करें

PITR डेटा से अपने डेटाबेस को Cloud Storage में एक्सपोर्ट किया जा सकता है gcloud firestore export निर्देश का इस्तेमाल करके. पीआईटीआर डेटा को एक्सपोर्ट किया जा सकता है, जहां टाइमस्टैंप पूरे एक मिनट का टाइमस्टैंप होता है 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 - जानकारी के स्तर पर मौजूद पीआईपीटी टाइमस्टैंप, जैसे कि 2023-05-26T10:20:00.00Z.

    पीआईटीआर डेटा एक्सपोर्ट करने से पहले, इन बातों का ध्यान रखें:

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

डेटा इंपोर्ट करना

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

  • डेटा इंपोर्ट करने पर, ज़रूरी इंडेक्स आपके डेटाबेस के मौजूदा इंडेक्स की परिभाषाएं. एक्सपोर्ट में इंडेक्स की परिभाषाएं शामिल नहीं हैं.

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

  • अगर इंपोर्ट करने की वजह से आपके डेटाबेस में मौजूद दस्तावेज़ पर कोई असर नहीं पड़ा है, तो वह मौजूद रहेगा को इंपोर्ट करने के बाद, आपके डेटाबेस में बनाए रखता है.

  • इंपोर्ट से जुड़ी कार्रवाइयां, Cloud Functions ट्रिगर नहीं करती हैं. स्नैपशॉट लिसनर को इंपोर्ट ऑपरेशन से जुड़े अपडेट मिलते हैं.

  • .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 Cloud Console

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  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 Cloud Platform Console में Cloud Storage ब्राउज़र:

Cloud Storage ब्राउज़र खोलें

इंपोर्ट की कार्रवाई शुरू करने के बाद, टर्मिनल को बंद करने से कार्रवाई, कोई कार्रवाई रद्द करें देखें.

खास कलेक्शन को इंपोर्ट करें

Google Cloud Console

कंसोल में खास कलेक्शन नहीं चुने जा सकते. इसके बजाय, gcloud का इस्तेमाल करें.

gcloud

एक्सपोर्ट की गई फ़ाइलों के सेट से, कलेक्शन के खास ग्रुप इंपोर्ट करने के लिए, --collection-ids फ़्लैग करें. कार्रवाई इंपोर्ट सिर्फ़ वे कलेक्शन ग्रुप जिनके लिए कलेक्शन आईडी दिए गए हैं. संग्रह group में सभी कलेक्शन और सब-कलेक्शन (किसी भी पाथ पर) शामिल हैं सेट किया गया कलेक्शन आईडी मौजूद है. --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 एक्सपोर्ट इंपोर्ट करना

एक्सपोर्ट किए गए दस्तावेज़ इंपोर्ट करने के लिए, सभी दस्तावेज़ इंपोर्ट करें में दिया गया तरीका अपनाएं डेटाबेस. अगर आपके डेटाबेस में पहले से ही कोई दस्तावेज़ मौजूद है, तो ओवरराइट किया गया.

एक्सपोर्ट और इंपोर्ट ऑपरेशन को मैनेज करना

एक्सपोर्ट या इंपोर्ट कार्रवाई शुरू करने के बाद, Cloud Firestore, कार्रवाई को कोई अनन्य नाम दिया जाता है. किसी कार्रवाई के नाम का इस्तेमाल, उसे मिटाने के लिए किया जा सकता है, कार्रवाई को रद्द करें या उसकी स्थिति की जाँच करें.

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

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

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

सभी एक्सपोर्ट और इंपोर्ट ऑपरेशन की सूची बनाएं

Google Cloud Console

यहां पर, हाल ही में हुए एक्सपोर्ट और इंपोर्ट की कार्रवाइयों की सूची देखी जा सकती है Google Cloud Platform Console का इंपोर्ट/एक्सपोर्ट पेज करें.

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.

  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

gcloud

सभी मौजूदा औरoperations list हाल ही में पूरी की गई एक्सपोर्ट और इंपोर्ट कार्रवाइयां:

gcloud firestore operations list

कार्रवाई की स्थिति देखें

Google Cloud Console

हाल ही में हुए एक्सपोर्ट या इंपोर्ट की स्थिति यहां देखी जा सकती है: Google Cloud Platform Console का इंपोर्ट/एक्सपोर्ट पेज करें.

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.

  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

gcloud

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

gcloud firestore operations describe [OPERATION_NAME]

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

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

  • workEstimated से पता चलता है कि बाइट और दस्तावेज़ों की कुल अनुमानित संख्या कार्रवाई होगी. अगर Cloud Firestore इस मेट्रिक को मिटा देता है, तो अनुमान नहीं लगाया जा सकता.

  • workCompleted से पता चलता है कि अब तक प्रोसेस किए गए बाइट और दस्तावेज़ों की संख्या कितनी है. कार्रवाई पूरी होने के बाद, मान असल में प्रोसेस किए गए बाइट और दस्तावेज़ हैं, जो workEstimated की वैल्यू.

प्रोग्रेस का अनुमान लगाने के लिए, workCompleted को workEstimated से भाग दें. यह यह अनुमान ग़लत हो सकता है, क्योंकि यह देर से आने वाले आंकड़ों पर निर्भर करता है संग्रह.

कार्रवाई रद्द करना

Google Cloud Console

यहां दिए गए लिंक पर जाकर, चल रहे एक्सपोर्ट या इंपोर्ट ऑपरेशन को रद्द किया जा सकता है Google Cloud Platform Console का इंपोर्ट/एक्सपोर्ट पेज करें.

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.

  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

हाल ही के इंपोर्ट और एक्सपोर्ट टेबल में, जो अभी चल रहा है कार्रवाइयों के पूरे हो चुके कॉलम में, रद्द करें बटन शामिल होता है. क्लिक करें कार्रवाई बंद करने के लिए, रद्द करें बटन. ऐसा करने पर, बटन रद्द करने की सुविधा में बदल जाएगा कार्रवाई पूरी तरह से बंद हो जाने पर, मैसेज और फिर रद्द पर भेज दिया जाएगा.

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 पर लागू होती हैं लेबल की मदद से, बिल की गई कार्रवाइयों पर लागू होता है. Cloud Billing के रिपोर्ट पेज पर, इंपोर्ट और एक्सपोर्ट ऑपरेशन से जुड़ी लागत देखने के लिए इस लेबल का इस्तेमाल किया जा सकता है:

फ़िल्टर मेन्यू से goog-firestoremanaged लेबल ऐक्सेस करें.

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

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

Cloud Firestore, इंपोर्ट की अनुमति देने के लिए Cloud Firestore के सर्विस एजेंट का इस्तेमाल करता है App Engine सेवा खाते का इस्तेमाल करने के बजाय, ऑपरेशन को एक्सपोर्ट करना. सर्विस एजेंट और सेवा खाते के लिए, नाम रखने के इन तरीकों का इस्तेमाल किया जाता है:

Cloud Firestore का सर्विस एजेंट
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

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

App Engine सेवा खाता
PROJECT_ID@appspot.gserviceaccount.com

Cloud Firestore के सेवा एजेंट को प्राथमिकता दी जाती है, क्योंकि यह खास है Cloud Firestore में बदलें. App Engine सेवा खाता शेयर किया गया है एक से ज़्यादा सेवा है.

अनुमति देने वाला खाता देखें

यह देखा जा सकता है कि अनुमति देने के लिए, इंपोर्ट और एक्सपोर्ट की कार्रवाई किस खाते का इस्तेमाल की गई है Google Cloud Platform कंसोल में इंपोर्ट/एक्सपोर्ट पेज से किए गए अनुरोध देखें. आप यह भी कर सकते हैं देखें कि क्या आपके डेटाबेस में पहले से ही Cloud Firestore का इस्तेमाल किया जा रहा है सर्विस एजेंट.

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.
  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

  4. इसके आगे मौजूद प्राधिकरण खाता देखें इंपोर्ट/एक्सपोर्ट के टास्क लेबल के तौर पर चलते हैं.

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

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

Cloud Storage बकेट की अनुमतियां देखकर और उन्हें अपडेट करके माइग्रेट करें

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

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

सर्विस एजेंट के लिए बकेट की अनुमतियां

ऐसी किसी भी एक्सपोर्ट या इंपोर्ट कार्रवाई के लिए जिसमें Cloud Storage बकेट का इस्तेमाल किया जाता है दूसरा प्रोजेक्ट है, तो आपको Cloud Firestore के सर्विस एजेंट को अनुमति देनी होगी अनुमतियां दी हैं. उदाहरण के लिए, डेटा को किसी अन्य स्थान पर ले जाने वाली कार्रवाइयां प्रोजेक्ट को उस अन्य प्रोजेक्ट में बकेट ऐक्सेस करने की ज़रूरत होती है. या फिर, ये Cloud Firestore सेवा पर माइग्रेट करने के बाद, कार्रवाइयां पूरी नहीं हो पाती हैं एजेंट.

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

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

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

नीचे दिए गए सेक्शन में, माइग्रेशन की प्रोसेस के बारे में बताया गया है Cloud Storage का पता लगाने में आपकी मदद करता है ऐसी बकेट जिनके लिए अनुमति अपडेट करने की ज़रूरत हो सकती है.

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

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

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.
  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

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

    बकेट की स्थिति देखें पर क्लिक करें.

    माइग्रेशन पूरा करने के विकल्प के साथ एक मेन्यू दिखता है और Cloud Storage बकेट की सूची. इसमें कुछ मिनट लग सकते हैं लोड करना समाप्त करने के लिए सूची.

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

  5. अपने प्रोजेक्ट के Cloud Firestore के मुख्य नाम का ध्यान रखें सर्विस एजेंट. सर्विस एजेंट का नाम सर्विस एजेंट को ऐक्सेस देना लेबल.
  6. सूची में मौजूद किसी भी बकेट के लिए आने वाले समय में इंपोर्ट या एक्सपोर्ट की कार्रवाइयों के लिए इस्तेमाल करें. इसके लिए, इन शर्तों को पूरा करना ज़रूरी है कदम:

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

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

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

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

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

  1. Google Cloud Platform कंसोल में, डेटाबेस पेज पर जाएं.

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

  2. डेटाबेस की सूची से ज़रूरी डेटाबेस चुनें.
  3. नेविगेशन मेन्यू में, इंपोर्ट/एक्सपोर्ट करें पर क्लिक करें.

  4. इस रूप में काम करने वाले इंपोर्ट/एक्सपोर्ट किए गए जॉब लेबल के बगल में मुख्य कंपनी देखें.

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

    अगर प्रोजेक्ट माइग्रेट नहीं किया गया है, तो पेज पर सबसे ऊपर एक बैनर दिखेगा बकेट की स्थिति देखें बटन का इस्तेमाल करें. यहां जाएं: Firestore के सर्विस एजेंट पर माइग्रेट करना माइग्रेशन की प्रक्रिया को पूरा करने के लिए.

पूरे संगठन की नीति का दायरा जोड़ें

  • अपने संगठन की नीति में यह सीमा सेट करें:

    इंपोर्ट/एक्सपोर्ट के लिए Firestore सर्विस एजेंट की ज़रूरत होती है (firestore.requireP4SAforImportExport).

    इस कंस्ट्रेंट को Cloud Firestore के सर्विस एजेंट की मदद से अनुरोधों को अनुमति देना. इस कंस्ट्रेंट को सेट करने के लिए, देखें संगठन की नीतियां बनाना और उन्हें मैनेज करना .

संगठन की नीति के इस दायरे को लागू करने से, उपयोगकर्ताओं को अपने-आप इस टूल के लिए, Cloud Storage बकेट की ज़रूरी अनुमतियां होनी चाहिए Cloud Firestore का सर्विस एजेंट.

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