यह पृष्ठ बताता है कि क्लाउड फायरस्टोर डेटाबेस कैसे बनाएं, अपडेट करें और हटाएं। आप प्रति प्रोजेक्ट एकाधिक क्लाउड फायरस्टोर डेटाबेस बना सकते हैं। आप उत्पादन और परीक्षण वातावरण स्थापित करने, ग्राहक डेटा को अलग करने और डेटा क्षेत्रीयकरण के लिए कई डेटाबेस का उपयोग कर सकते हैं।
(default)
डेटाबेस
यदि आपके ऐप को एकाधिक डेटाबेस की आवश्यकता नहीं है, तो (default)
डेटाबेस का उपयोग करें।
यदि आप कोई डेटाबेस निर्दिष्ट नहीं करते हैं, तो क्लाउड फायरस्टोर क्लाइंट लाइब्रेरी और Google क्लाउड सीएलआई डिफ़ॉल्ट रूप से (default)
डेटाबेस से कनेक्ट होते हैं।
(default)
डेटाबेस के साथ कर सकते हैं।आवश्यक भूमिकाएँ
डेटाबेस बनाने और प्रबंधित करने के लिए, आपको Owner
या Datastore Owner
पहचान और एक्सेस प्रबंधन भूमिका की आवश्यकता होती है। ये भूमिकाएँ आवश्यक अनुमतियाँ प्रदान करती हैं।
आवश्यक अनुमतियाँ
डेटाबेस प्रबंधित करने के लिए, आपको निम्नलिखित अनुमतियों की आवश्यकता है:
- एक डेटाबेस बनाएं:
datastore.databases.create
- डेटाबेस कॉन्फ़िगरेशन पढ़ें:
datastore.databases.getMetadata
- डेटाबेस कॉन्फ़िगर करें:
datastore.databases.update
- एक डेटाबेस हटाएँ:
datastore.databases.delete
एक डेटाबेस बनाएं
डेटाबेस बनाने के लिए, निम्न विधियों में से किसी एक का उपयोग करें:
सांत्वना देना
Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।
- डेटाबेस बनाएँ पर क्लिक करें।
- एक डेटाबेस मोड चुनें. जारी रखें पर क्लिक करें
- अपना डेटाबेस कॉन्फ़िगर करें. एक डेटाबेस आईडी दर्ज करें. एक स्थान चुनें. डेटाबेस बनाएँ पर क्लिक करें।
gcloud
gcloud alpha firestore databases create
कमांड का उपयोग करें।
gcloud alpha firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --type=DATABASE_TYPE \ [--delete-protection]
निम्नलिखित को बदलें:
- DATABASE_ID : एक वैध डेटाबेस आईडी ।
- LOCATION : क्लाउड फायरस्टोर बहु-क्षेत्र या क्षेत्र का नाम।
- DATABASE_TYPE : या तो नेटिव मोड के लिए
firestore-native
नेटिव या डेटास्टोर मोड के लिए डेटास्टोर-मोड।
--delete-protection
विलोपन सुरक्षा को सक्षम करने के लिए एक वैकल्पिक ध्वज है। जब तक आप इस सेटिंग को अक्षम नहीं करते, तब तक आप विलोपन सुरक्षा सक्षम डेटाबेस को हटा नहीं सकते। यह सेटिंग डिफ़ॉल्ट रूप से अक्षम है.
फायरबेस सीएलआई
firebase firestore:databases:create DATABASE_ID \ --location=LOCATION \ [--delete-protection DELETE_PROTECTION_ENABLEMENT]
निम्नलिखित को बदलें:
- DATABASE_ID : एक वैध डेटाबेस आईडी ।
- LOCATION : क्लाउड फायरस्टोर बहु-क्षेत्र या क्षेत्र का नाम।
- DELETE_PROTECTION_ENABLEMENT : या तो
ENABLED
याDISABLED
। बनाया गया डेटाबेस हमेशा फायरस्टोर नेटिव मोड में होता है।
--delete-protection
terraform
resource "google_firestore_database" "database" { project = "project-id" name = DATABASE_ID location_id = LOCATION type = DATABASE_TYPE // Optional delete_protection_state = DELETE_PROTECTION_STATE }
निम्नलिखित को बदलें:
- DATABASE_ID : एक वैध डेटाबेस आईडी ।
- LOCATION : क्लाउड फायरस्टोर बहु-क्षेत्र या क्षेत्र का नाम।
- DATABASE_TYPE : या तो नेटिव मोड के लिए
FIRESTORE_NATIVE
या डेटास्टोर मोड के लिएDATASTORE_MODE
। - DELETE_PROTECTION_ENABLEMENT : या तो
DELETE_PROTECTION_ENABLED
याDELETE_PROTECTION_DISABLED
।
delete_protection_state
विलोपन सुरक्षा को सक्षम करने के लिए एक वैकल्पिक तर्क है। जब तक आप इस सेटिंग को अक्षम नहीं करते, तब तक आप विलोपन सुरक्षा सक्षम डेटाबेस को हटा नहीं सकते। यह सेटिंग डिफ़ॉल्ट रूप से अक्षम है.
डेटाबेस आईडी
वैध डेटाबेस आईडी में (default)
और निम्नलिखित के अनुरूप आईडी शामिल हैं:
- इसमें केवल अक्षर, संख्याएँ और हाइफ़न (
-
) वर्ण शामिल हैं। - अक्षर छोटे होने चाहिए.
- पहला अक्षर एक अक्षर होना चाहिए.
- अंतिम अक्षर कोई अक्षर या संख्या होना चाहिए.
- न्यूनतम 4 अक्षर.
- अधिकतम 63 अक्षर.
- यूयूआईडी नहीं होना चाहिए या यूयूआईडी जैसा नहीं होना चाहिए। उदाहरण के लिए,
f47ac10b-58cc-0372-8567-0e02b2c3d479
जैसी आईडी का उपयोग न करें।
यदि आप कोई डेटाबेस हटाते हैं, तो आप तुरंत 5 मिनट के बाद तक डेटाबेस आईडी का पुन: उपयोग नहीं कर सकते।
सुरक्षा हटाएँ
किसी डेटाबेस के आकस्मिक विलोपन को रोकने के लिए डिलीट प्रोटेक्शन का उपयोग करें। आप डिलीट प्रोटेक्शन सक्षम डेटाबेस को तब तक नहीं हटा सकते जब तक आप डिलीट प्रोटेक्शन को अक्षम नहीं कर देते। डिलीट प्रोटेक्शन डिफ़ॉल्ट रूप से अक्षम है। जब आप डेटाबेस बनाते हैं तो आप डिलीट प्रोटेक्शन को सक्षम कर सकते हैं या डिलीट प्रोटेक्शन को सक्षम करने के लिए डेटाबेस कॉन्फ़िगरेशन को अपडेट कर सकते हैं।
अपने डेटाबेस के लिए क्लाउड फायरस्टोर सुरक्षा नियम सेट करें
अपने प्रत्येक डेटाबेस में क्लाउड फायरस्टोर सुरक्षा नियमों को तैनात करने के लिए फायरबेस सीएलआई का उपयोग करें। क्लाउड फायरस्टोर सुरक्षा नियमों के प्रबंधन और तैनाती के लिए गाइड देखें।
क्लाइंट लाइब्रेरी के साथ नामित डेटाबेस तक पहुंचें
नामित डेटाबेस में कोई भी डेटाबेस शामिल होता है जिसका नाम (default)
नहीं होता है। डिफ़ॉल्ट रूप से, फायरबेस एसडीके और Google एपीआई क्लाइंट लाइब्रेरी एक प्रोजेक्ट में (default)
क्लाउड फायरस्टोर डेटाबेस से कनेक्ट होते हैं। किसी नामित डेटाबेस से जुड़ा क्लाइंट बनाने के लिए, जब आप किसी क्लाइंट को इंस्टेंट करते हैं तो डेटाबेस आईडी सेट करें।
डेटाबेस सूचीबद्ध करें
अपने डेटाबेस को सूचीबद्ध करने के लिए निम्न विधियों में से किसी एक का उपयोग करें:
सांत्वना देना
Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।
gcloud
अपने प्रोजेक्ट में सभी डेटाबेस को सूचीबद्ध करने के लिए gcloud firestore databases list
कमांड का उपयोग करें।
gcloud firestore databases list
डेटाबेस विवरण देखें
किसी एकल डेटाबेस के बारे में विवरण देखने के लिए, gcloud firestore databases describe
कमांड का उपयोग करें:
gcloud
gcloud firestore databases describe --database=DATABASE_ID
DATABASE_ID डेटाबेस आईडी से बदलें।
डेटाबेस कॉन्फ़िगरेशन अद्यतन करें
किसी डेटाबेस की कॉन्फ़िगरेशन सेटिंग्स को अपडेट करने के लिए, gcloud alpha firestore databases update
कमांड का उपयोग करें। डिलीट प्रोटेक्शन को सक्षम या अक्षम करने के लिए बदलने के लिए इस कमांड का उपयोग करें।
डिलीट प्रोटेक्शन सेटिंग को अपडेट करें
किसी डेटाबेस पर डिलीट प्रोटेक्शन को सक्षम करने के लिए, --delete-protection
फ़्लैग के साथ gcloud alpha firestore databases update
कमांड का उपयोग करें। उदाहरण के लिए:
gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --delete-protection
DATABASE_ID डेटाबेस आईडी से बदलें।
किसी डेटाबेस पर डिलीट प्रोटेक्शन को अक्षम करने के लिए, --no-delete-protection
फ़्लैग के साथ gcloud alpha firestore databases update
कमांड का उपयोग करें। उदाहरण के लिए:
gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --no-delete-protection
DATABASE_ID डेटाबेस आईडी से बदलें।
एक डेटाबेस हटाएँ
किसी डेटाबेस को हटाने के लिए कंसोल या कमांड-लाइन टूल का उपयोग करें।
यदि डेटाबेस में डिलीट प्रोटेक्शन सेटिंग सक्षम है, तो आपको पहले डिलीट प्रोटेक्शन को अक्षम करना होगा।
यदि डेटाबेस में ऐप इंजन खोज डेटा या ब्लॉब इकाइयां हैं , तो आपको पहले उस डेटा को हटाना होगा।
किसी डेटाबेस को हटाने से उस डेटाबेस के लिए कोई भी इवेंटार्क ट्रिगर स्वचालित रूप से नहीं हटता है। ट्रिगर ईवेंट वितरित करना बंद कर देता है लेकिन तब तक मौजूद रहता है जब तक आप ट्रिगर को हटा नहीं देते ।
सांत्वना देना
Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।
- जिस डेटाबेस को आप हटाना चाहते हैं उसके लिए तालिका पंक्ति में और देखें पर क्लिक करें। हटाएँ पर क्लिक करें. एक संवाद प्रकट होता है.
हटाएँ डेटाबेस में? संवाद, पाठ फ़ील्ड में डेटाबेस आईडी टाइप करके विलोपन की पुष्टि करें। हटाएँ पर क्लिक करें. कंसोल आपको ऑपरेशन की सफलता या विफलता की सूचना देता है।
यदि ऑपरेशन विफल हो जाता है, तो डेटाबेस विवरण देखें और सत्यापित करें कि डिलीट सुरक्षा अक्षम है। डिलीट प्रोटेक्शन को अक्षम करने के लिए, डिलीट प्रोटेक्शन सेटिंग को अपडेट करें देखें।
gcloud
`gcloud अल्फा फायरस्टोर डेटाबेस डिलीट` कमांड का उपयोग करें।
gcloud alpha firestore databases delete --database=DATABASE_ID
हटाने के लिए DATABASE_ID डेटाबेस की आईडी से बदलें।
प्रति-डेटाबेस पहुंच अनुमतियाँ कॉन्फ़िगर करें
आप प्रति-डेटाबेस स्तर पर एक्सेस अनुमतियों को कॉन्फ़िगर करने के लिए पहचान और एक्सेस प्रबंधन शर्तों का उपयोग कर सकते हैं। निम्नलिखित उदाहरण एक या अधिक डेटाबेस के लिए सशर्त पहुंच प्रदान करने के लिए Google क्लाउड सीएलआई का उपयोग करते हैं। आप GCP कंसोल में IAM शर्तों को भी परिभाषित कर सकते हैं।
मौजूदा IAM नीतियां देखें
gcloud projects get-iam-policy PROJECT_ID
PROJECT_ID
अपनी प्रोजेक्ट आईडी पर सेट करें।
डेटाबेस तक पहुंच प्रदान करें
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
निम्नलिखित सेट करें:
-
PROJECT_ID
: आपकी प्रोजेक्ट आईडी -
EMAIL
: एक ईमेल पता जो एक विशिष्ट Google खाते का प्रतिनिधित्व करता है। उदाहरण के लिए,alice@example.com
। -
DATABASE_ID
: एक डेटाबेस आईडी। -
TITLE
: अभिव्यक्ति के लिए एक वैकल्पिक शीर्षक. -
DESCRIPTION
: अभिव्यक्ति का एक वैकल्पिक विवरण.
एक डेटाबेस को छोड़कर सभी तक पहुंच प्रदान करें
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
निम्नलिखित सेट करें:
-
PROJECT_ID
: आपकी प्रोजेक्ट आईडी -
EMAIL
: एक ईमेल पता जो एक विशिष्ट Google खाते का प्रतिनिधित्व करता है। उदाहरण के लिए,alice@example.com
। -
DATABASE_ID
: एक डेटाबेस आईडी। -
TITLE
: अभिव्यक्ति के लिए एक वैकल्पिक शीर्षक. -
DESCRIPTION
: अभिव्यक्ति का एक वैकल्पिक विवरण.
किसी दिए गए सदस्य और भूमिका के लिए नीतियां हटाएं
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all
निम्नलिखित सेट करें:
-
PROJECT_ID
: आपकी प्रोजेक्ट आईडी -
EMAIL
: एक ईमेल पता जो एक विशिष्ट Google खाते का प्रतिनिधित्व करता है। उदाहरण के लिए,alice@example.com
।
बादल निगरानी
क्लाउड फायरस्टोर मेट्रिक्स दो मॉनिटर किए गए संसाधनों के तहत रिपोर्ट किए जाते हैं।
आप firestore.googleapis.com/Database
को देखकर डेटाबेस स्तर पर समग्र मेट्रिक्स का निरीक्षण कर सकते हैं। firestore_instance
के अंतर्गत रिपोर्ट किए गए मेट्रिक्स को प्रोजेक्ट स्तर पर एकत्रित किया जाता है।
सीमाएँ
- आपके पास प्रति प्रोजेक्ट अधिकतम 100 डेटाबेस हो सकते हैं। इस सीमा को बढ़ाने का अनुरोध करने के लिए आप सहायता से संपर्क कर सकते हैं।
- यदि आपके डेटाबेस में कोई GAE खोज डेटा और/या ब्लॉब इकाइयाँ हैं तो आप उसे हटा नहीं सकते। कृपया GAE खोज डेटा को हटाने के लिए इंडेक्स डिलीट एपीआई का उपयोग करें और ब्लॉबस्टोर डेटा को हटाने के लिए ब्लॉबस्टोर डिलीट एपीआई का उपयोग करें।
- डिलीट होने के 5 मिनट बाद तक आप डेटाबेस आईडी का पुन: उपयोग नहीं कर सकते।
- क्लाउड फ़ंक्शन v1 फायरस्टोर नामांकित डेटाबेस का समर्थन नहीं करता है। कृपया नामित डेटाबेस के लिए ईवेंट कॉन्फ़िगर करने के लिए क्लाउड फायरस्टोर ट्रिगर्स (दूसरी पीढ़ी) का उपयोग करें।
- फ़ायरस्टोर फ़ंक्शन ट्रिगर v1 और फ़ायरस्टोर ईवेंट ट्रिगर डेटाबेस हटाए जाने के बाद काम करना बंद कर सकते हैं, भले ही उसी नाम से एक नया डेटाबेस बनाया गया हो।