डेटाबेस मैनेज करना

इस पेज पर Cloud Firestore बनाने, अपडेट करने, और मिटाने का तरीका बताया गया है डेटाबेस. आप हर एक के लिए कई Cloud Firestore डेटाबेस बना सकते हैं प्रोजेक्ट. प्रोडक्शन और टेस्टिंग को सेट अप करने के लिए, एक से ज़्यादा डेटाबेस का इस्तेमाल किया जा सकता है ताकि डेटा को अलग किया जा सके, और डेटा को क्षेत्र के हिसाब से प्रोसेस किया जा सके.

(default) डेटाबेस

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

अगर आप डेटाबेस की जानकारी नहीं देते, तो Cloud Firestore क्लाइंट लाइब्रेरी और Google Cloud सीएलआई, डिफ़ॉल्ट रूप से (default) डेटाबेस से कनेक्ट होता है.

आप मुफ़्त कोटा इस्तेमाल कर सकते हैं सिर्फ़ (default) डेटाबेस के साथ.

ज़रूरी भूमिकाएं

डेटाबेस बनाने और मैनेज करने के लिए, आपके पास Owner या Datastore Owner होना चाहिए पहचान और ऐक्सेस मैनेजमेंट की भूमिका. ये भूमिकाएं ज़रूरी अनुमतियां देती हैं.

ज़रूरी अनुमतियां

डेटाबेस मैनेज करने के लिए, आपके पास इन अनुमतियों की ज़रूरत होती है:

  • डेटाबेस बनाएं: datastore.databases.create
  • डेटाबेस कॉन्फ़िगरेशन पढ़ें: datastore.databases.getMetadata
  • डेटाबेस को कॉन्फ़िगर करें: datastore.databases.update
  • डेटाबेस मिटाएं: datastore.databases.delete

डेटाबेस बनाना

डेटाबेस बनाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

कंसोल
  1. Firebase कंसोल में, फ़ायरस्टोर डेटाबेस पेज पर जाएं.

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

  2. अगर यह आपका पहला नाम डेटाबेस है, तो डेटाबेस जोड़ें पर क्लिक करें.
  3. अगर ऐसा नहीं है, तो (डिफ़ॉल्ट) पर क्लिक करें. इसके बाद, डेटाबेस जोड़ें पर क्लिक करें.
  4. अपना डेटाबेस कॉन्फ़िगर करें. डेटाबेस आईडी डालें. कोई जगह चुनें. डेटाबेस बनाएं पर क्लिक करें.
gcloud

इसका इस्तेमाल करें gcloud firestore databases create आदेश.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--type=DATABASE_TYPE \
[--delete-protection]

इन्हें बदलें:

मिटाने से जुड़ी सुरक्षा चालू करने के लिए, --delete-protection एक वैकल्पिक फ़्लैग है. जिस डेटाबेस को मिटाने से जुड़ी सुरक्षा चालू है उसे तब तक नहीं मिटाया जा सकता, जब तक कि तो यह सेटिंग बंद करें. यह सेटिंग डिफ़ॉल्ट रूप से अक्षम होती है.

Firebase CLI
firebase firestore:databases:create DATABASE_ID \
--location=LOCATION \
[--delete-protection DELETE_PROTECTION_ENABLEMENT]

इन्हें बदलें:

--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
}

इन्हें बदलें:

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

डेटाबेस आईडी

मान्य डेटाबेस आईडी में (default) और वे आईडी शामिल होते हैं जो फ़ॉलो किया जा रहा है:

  • इसमें सिर्फ़ अक्षर, नंबर, और हाइफ़न (-) वर्ण शामिल होते हैं.
  • अक्षर अंग्रेज़ी के छोटे अक्षरों में होने चाहिए.
  • पहला वर्ण एक अक्षर होना चाहिए.
  • आखिरी वर्ण कोई अक्षर या संख्या होनी चाहिए.
  • कम से कम चार वर्ण.
  • ज़्यादा से ज़्यादा 63 वर्ण.
  • यूयूआईडी नहीं होना चाहिए या यूयूआईडी से मिलता-जुलता नहीं होना चाहिए. उदाहरण के लिए, f47ac10b-58cc-0372-8567-0e02b2c3d479.

किसी डेटाबेस को मिटाने के बाद, उसे पांच मिनट के बाद तुरंत फिर से इस्तेमाल नहीं किया जा सकता.

सुरक्षा प्लान मिटाएं

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

अपने डेटाबेस के लिए Cloud Firestore के सुरक्षा नियम सेट अप करना

अपने हर एक पेज पर Cloud Firestore के सुरक्षा नियमों को डिप्लॉय करने के लिए, Firebase सीएलआई का इस्तेमाल करें डेटाबेस. Cloud Firestore के सुरक्षा नियमों को मैनेज और लागू करने के लिए गाइड देखें.

क्लाइंट लाइब्रेरी की मदद से, नाम वाले डेटाबेस को ऐक्सेस करना

नाम वाले डेटाबेस में, (default) नाम से बाहर का कोई भी डेटाबेस होता है. डिफ़ॉल्ट रूप से, Firebase SDK टूल और Google API क्लाइंट लाइब्रेरी, (default) से कनेक्ट होती हैं प्रोजेक्ट में Cloud Firestore डेटाबेस. कनेक्ट किया गया क्लाइंट बनाने के लिए नाम वाले डेटाबेस में, क्लाइंट इंस्टैंशिएट करते समय डेटाबेस आईडी सेट करें.

डेटाबेस की सूची बनाएं

अपने डेटाबेस को लिस्ट में रखने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

कंसोल

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

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

gcloud

इसका इस्तेमाल करें gcloud firestore databases list कमांड का इस्तेमाल करें.

gcloud firestore databases list
Firebase CLI

अपने प्रोजेक्ट के सभी डेटाबेस की सूची बनाने के लिए firebase firestore:databases:list कमांड का इस्तेमाल करें.

firebase firestore:databases:list

डेटाबेस की जानकारी देखें

किसी एक डेटाबेस की जानकारी देखने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

gcloud

gcloud firestore databases describe कमांड का इस्तेमाल करें:

gcloud firestore databases describe --database=DATABASE_ID

Firebase CLI

firebase firestore:databases:get कमांड का इस्तेमाल करें:

firebase firestore:databases:get DATABASE_ID

DATABASE_ID को डेटाबेस आईडी से बदलें.

डेटाबेस कॉन्फ़िगरेशन अपडेट करें

डेटाबेस की कॉन्फ़िगरेशन सेटिंग अपडेट करने के लिए, gcloud firestore databases update आदेश. सुरक्षा मिटाने की सुविधा को चालू या बंद करने के लिए, इस निर्देश का इस्तेमाल करें.

'सुरक्षा मिटाएं' सेटिंग को अपडेट करें

डेटाबेस पर डेटा मिटाने की सुरक्षा चालू करने के लिए, gcloud firestore databases update आदेश को --delete-protection फ़्लैग के साथ रखें. उदाहरण के लिए:

gcloud
gcloud firestore databases update --database=DATABASE_ID --delete-protection

DATABASE_ID को डेटाबेस आईडी से बदलें.

डेटाबेस पर सुरक्षा मिटाने की सुविधा को बंद करने के लिए, gcloud firestore databases update आदेश को --no-delete-protection फ़्लैग के साथ रखें. उदाहरण के लिए:

gcloud
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection

DATABASE_ID को डेटाबेस आईडी से बदलें.

डेटाबेस को मिटाना

डेटाबेस मिटाने के लिए, कंसोल या कमांड-लाइन टूल का इस्तेमाल करें.

अगर डेटाबेस में मिटाने की सुरक्षा की सेटिंग चालू है, तो आपको पहले मिटाने की सुरक्षा को बंद करें.

अगर डेटाबेस में App Engine सर्च डेटा है या BLOB इकाइयां, तो आपको पहले वह डेटा हटाना होगा.

डेटाबेस को मिटाने से कोई भी डेटाबेस अपने-आप नहीं मिटता उस डेटाबेस के लिए Eventarc ट्रिगर करता है. कॉन्टेंट बनाने ट्रिगर इवेंट्स डिलीवर करना बंद कर देता है लेकिन आपके डायग्नोस्टिक ट्रिगर मिटाएं.

कंसोल
  1. Firebase कंसोल में, फ़ायरस्टोर डेटाबेस पेज पर जाएं.

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

  2. डेटा टैब में, डेटाबेस के लिए डेटा टेबल व्यू के ऊपर, क्लिक करें के बाद, चुनें डेटाबेस मिटाएं.
  3. डेटाबेस को मिटाने के लिए, निर्देशों का पालन करें.
gcloud

इसका इस्तेमाल करें `gcloud Firestore Databases delete` कमांड इस्तेमाल किया जाएगा.

gcloud firestore databases delete --database=DATABASE_ID

मिटाए जाने के लिए, DATABASE_ID को डेटाबेस के आईडी से बदलें.

हर डेटाबेस के ऐक्सेस की अनुमतियां कॉन्फ़िगर करें

Google Analytics 4 पर माइग्रेट करने के लिए, पहचान और ऐक्सेस मैनेजमेंट की शर्तें का इस्तेमाल करें. नीचे दिए गए उदाहरणों में, शर्तों के साथ ऐक्सेस देने के लिए Google Cloud सीएलआई का इस्तेमाल किया गया है एक या ज़्यादा डेटाबेस. आप यह भी कर सकते हैं 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.

Cloud Monitoring

Cloud Firestore की मेट्रिक की रिपोर्ट, मॉनिटर किए गए दो रिसॉर्स के ज़रिए की जाती है.

firestore.googleapis.com/Database पर जाकर, डेटाबेस लेवल पर एग्रीगेट मेट्रिक की जांच की जा सकती है. firestore_instance में रिपोर्ट की गई मेट्रिक, प्रोजेक्ट लेवल पर एग्रीगेट की जाती हैं.

सीमाएं

  • आपके हर प्रोजेक्ट में ज़्यादा से ज़्यादा 100 डेटाबेस हो सकते हैं. इस सीमा को बढ़ाने का अनुरोध करने के लिए, सहायता टीम से संपर्क किया जा सकता है.
  • अगर (default) के डेटाबेस में कोई GAE खोज डेटा मौजूद है, तो उसे मिटाया नहीं जा सकता. GAE खोज डेटा मिटाने के लिए, कृपया index delete api का इस्तेमाल करें. अगर आपने हाल ही में GAE Search का डेटा मिटाया है, तो डेटाबेस को मिटाने से पहले आपको इंतज़ार करना पड़ सकता है.
  • अगर आपके (default) डेटाबेस में कोई ब्लॉब इकाई है, तो उसे मिटाया नहीं जा सकता. Blobstore का डेटा मिटाने के लिए, कृपया Blobstore delete api का इस्तेमाल करें. नीचे दी गई GQL क्वेरी चलाकर, यह पता लगाया जा सकता है कि आपके (default) डेटाबेस में Blobstore का डेटा है या नहीं में जाकर देखें: SELECT * FROM __BlobInfo__.
  • डेटा मिटाए जाने के पांच मिनट बाद तक, डेटाबेस आईडी का फिर से इस्तेमाल नहीं किया जा सकता.
  • Cloud Function v1, Firestore के नाम वाले डेटाबेस के साथ काम नहीं करता. नाम वाले डेटाबेस के लिए इवेंट कॉन्फ़िगर करने के लिए, कृपया Cloud Firestore ट्रिगर (2nd जनरेशन) का इस्तेमाल करें.
  • डेटाबेस को मिटाए जाने के बाद, फ़ायरस्टोर फ़ंक्शन ट्रिगर v1 और फ़ायरस्टोर इवेंट ट्रिगर काम करना बंद कर सकते हैं, भले ही उसी नाम से एक नया डेटाबेस बनाया गया हो.

आगे क्या करना है