Firebase Data Connect का इस्तेमाल शुरू करना

इस क्विकस्टार्ट में आपको यह पता चलेगा कि कैसे:

  • अपने Firebase प्रोजेक्ट में Firebase डेटा कनेक्ट जोड़ें.
  • विज़ुअल स्टूडियो के साथ-साथ डेवलपमेंट एनवायरमेंट को सेट अप करें प्रोडक्शन इंस्टेंस के साथ काम करने के लिए कोड एक्सटेंशन.
  • इसके बाद, हम आपको बताएंगे कि:
    • ईमेल ऐप्लिकेशन के लिए स्कीमा बनाएं और उसे प्रोडक्शन में डिप्लॉय करें.
    • अपने स्कीमा के लिए क्वेरी और म्यूटेशन तय करें.
    • अपने फ़ाइनल प्रोटोटाइप को प्रोडक्शन में डिप्लॉय करें.

ज़रूरी शर्तें

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

अपने Firebase प्रोजेक्ट से कनेक्ट करना

  1. अगर आपने पहले से कोई Firebase प्रोजेक्ट नहीं बनाया है, तो एक Firebase प्रोजेक्ट बनाएं.
    1. Firebase कंसोल में जाकर, प्रोजेक्ट जोड़ें. इसके बाद, स्क्रीन पर दिए गए निर्देशों का पालन करें.
  2. अपने प्रोजेक्ट को Blaze प्लान पर अपग्रेड करें. इसकी मदद से, Cloud SQL बनाया जा सकता है PostgreSQL इंस्टेंस के लिए.

  3. Firebase कंसोल के Data Connect सेक्शन पर जाएं और प्रॉडक्ट के सेटअप वर्कफ़्लो को फ़ॉलो करें.

  4. अपने CloudSQL for PostgreSQL डेटाबेस के लिए कोई जगह चुनें.

  5. बाद में पुष्टि करने के लिए, प्रोजेक्ट, सेवा, और डेटाबेस के नाम और आईडी नोट करें.

  6. बचे हुए सेटअप फ़्लो का पालन करें. इसके बाद, हो गया पर क्लिक करें.

डेवलपमेंट एनवायरमेंट चुनना और सेट अप करना

Data Connect में, प्रोटोटाइप बनाने के दो तरीके इस्तेमाल किए जा सकते हैं:

  • अगर आप Kotlin Android या वेब डेवलपर हैं, तो आप वीएस कोड का इस्तेमाल कर सकते हैं स्थानीय तौर पर स्कीमा और ऑपरेशन को प्रोटोटाइप करने के लिए डेवलप करना Cloud SQL for PostgreSQL इंस्टेंस.
  • अगर आप वेब डेवलपर हैं, तो आपके पास प्रोटोटाइप बनाने के लिए IDX Development का इस्तेमाल करने का विकल्प है में PostgreSQL के साथ पहले से कॉन्फ़िगर किए गए IDX टेंप्लेट का इस्तेमाल करके, डेटा कनेक्ट एम्युलेटर और क्विकस्टार्ट कोड के साथ वीएस कोड एक्सटेंशन अपने लिए सेट अप करें. आपको यहां ज़्यादा जानकारी मिलेगी Project IDX साइट.

यह क्विकस्टार्ट, बनाम कोड के एक्सटेंशन डेवलपमेंट फ़्लो पर फ़ोकस करता है. जारी रखने के लिए:

  1. अपने लोकल प्रोजेक्ट के लिए नई डायरेक्ट्री बनाएं.
  2. बनाम कोड को नई डायरेक्ट्री में खोलें.
  3. Firebase स्टोरेज से, VSIX पैकेज के तौर पर बंडल किया गया एक्सटेंशन डाउनलोड करें.

  4. बनाम कोड में, व्यू मेन्यू से एक्सटेंशन चुनें.

  5. एक्सटेंशन पैनल के टाइटल बार पर, मेन्यू आइकॉन पर क्लिक करें more_horiz करके फिर फ़ॉलो करें VSIX से इंस्टॉल करें....

इसके अलावा, लोकल डेवलपमेंट के लिए, लोकल PostgreSQL डेटाबेस इंस्टॉल किया जा सकता है का इस्तेमाल कर सकते हैं. यह सेटअप इसके आखिर में शामिल है यह क्विकस्टार्ट गाइड है.

अपना लोकल प्रोजेक्ट सेट अप करना

सामान्य निर्देशों का पालन करके सीएलआई इंस्टॉल करें. अगर आपके पास एनपीएम है पहले से इंस्टॉल है, तो निम्न आदेश चलाएं:

npm install -g firebase-tools

अपनी प्रोजेक्ट डायरेक्ट्री सेट अप करना

अपना लोकल प्रोजेक्ट सेट अप करने के लिए, प्रोजेक्ट डायरेक्ट्री शुरू करें.

वीएस कोड के बाईं ओर दिए गए पैनल में, Firebase वीएस कोड एक्सटेंशन यूज़र इंटरफ़ेस (यूआई).

Firebase एक्सटेंशन यूज़र इंटरफ़ेस (यूआई) में:

  1. पक्का करें कि आपने साइन इन किया हो.
  2. Firebase init चलाएं बटन पर क्लिक करें.
  3. प्रॉम्प्ट के लिए, VS कोड के निचले पैनल में Terminal टैब देखें.
  4. इस डायरेक्ट्री में इस्तेमाल करने के लिए, डेटा कनेक्ट को सुविधा के तौर पर चुनें.
  5. जब आपसे कहा जाए, तब वह डेटा कनेक्ट प्रोजेक्ट जिसे आपने पहले कंसोल में बनाया था.

स्कीमा बनाना

अपनी Firebase प्रोजेक्ट डायरेक्ट्री में, /dataconnect/schema/schema.gql फ़ाइल में, ग्राफ़क्यूएल स्कीमा तय करना शुरू करें जिसमें उपयोगकर्ता और ईमेल शामिल हों.

उपयोगकर्ता

Data Connect में, ग्राफ़QL फ़ील्ड को कॉलम में मैप किया जाता है. उपयोगकर्ताओं के पास uid, name और ईमेल address. Data Connect कई सिग्नल की पहचान करता है, प्रिमिटिव डेटा टाइप: String और Date.

नीचे दिए गए स्निपेट को कॉपी करें या फ़ाइल में मौजूद इससे जुड़ी लाइनों की टिप्पणी हटाएं.

# File `/dataconnect/schema/schema.gql`

type User @table(key: "uid") {
   uid: String!
   name: String!
   address: String!
}

अगर कोई यूयूआईडी id कुंजी नहीं है, तो डिफ़ॉल्ट रूप से Firebase डेटा कनेक्ट उसे जोड़ देगा दिया गया है. हालांकि, इस मामले में आप मेरे uid को प्राथमिक कुंजी बनाना चाहते हैं, जो यह काम करने के लिए, @table(key: "uid") डायरेक्टिव का इस्तेमाल करें.

ईमेल

अब आपके पास उपयोगकर्ता हैं, इसलिए आपके पास ईमेल को मॉडल करने का विकल्प है. यहां आप विज्ञापन की फ़ील्ड (या कॉलम) का उपयोग करें. हालांकि, इस बार हम प्राइमरी बटन नहीं जोड़ते हैं क्योंकि इसे मैनेज करने के लिए आप Data Connect पर भरोसा कर सकते हैं.

# File `/dataconnect/schema/schema.gql`

type Email @table {
   subject: String!
   sent: Date!
   text: String!
   from: User!
}

ध्यान दें कि from फ़ील्ड को एक तरह के User के हिसाब से मैप किया गया है. Data Connect समझता है कि यह Email के बीच का संबंध है और User आपके लिए इस संबंध को मैनेज करेंगे.

अपने स्कीमा को प्रोडक्शन में डिप्लॉय करना

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

  1. डिप्लॉय करने के लिए, Firebase बनाम कोड एक्सटेंशन का इस्तेमाल किया जा सकता है.
    • एक्सटेंशन यूज़र इंटरफ़ेस (यूआई) में, Firebase डेटा कनेक्ट पैनल के नीचे, क्लिक करें डिप्लॉय करें.
  2. आपको स्कीमा में हुए बदलावों की समीक्षा करनी पड़ सकती है और उन्हें अनुमति देनी पड़ सकती है कि वे नुकसान पहुंचा सकते हैं बदलाव. आपसे यह करने के लिए कहा जाएगा:
    • firebase dataconnect:sql:diff का इस्तेमाल करके स्कीमा में हुए बदलावों की समीक्षा करें
    • बदलावों से संतुष्ट होने के बाद, उन्हें इस फ़्लो का इस्तेमाल करके लागू करें firebase dataconnect:sql:migrate.

अपनी टेबल में डेटा जोड़ना

VS Code एडिटर पैनल में, आपको /dataconnect/schema/schema.gql में ग्राफ़क्यूएल टाइप. आपने डिप्लॉय किए हैं अपने स्कीमा को प्रोडक्शन में रिकॉर्ड करते समय, आप डेटा जोड़ें और रन (प्रोडक्शन) का इस्तेमाल कर सकते हैं बटन, बैकएंड पर आपके डेटाबेस में डेटा जोड़ते हैं.

User और Email टेबल में रिकॉर्ड जोड़ने के लिए:

  1. schema.gql में, User टाइप के ऊपर मौजूद डेटा जोड़ें बटन पर क्लिक करें एलान के लिए उपलब्ध है.
    Firebase Data Connect के लिए कोड लेंस जोड़ने के लिए डेटा बटन
  2. जनरेट होने वाली User_insert.gql फ़ाइल में, तीन फ़ील्ड.
  3. Run (प्रोडक्शन) बटन पर क्लिक करें.
    Firebase Data Connect के लिए कोड लेंस चलाने का बटन
  4. Email टेबल में रिकॉर्ड जोड़ने के लिए, पिछले चरण को दोहराएं आपके उपयोगकर्ता का uid, fromUid फ़ील्ड में, जैसा कि जनरेट किए गए Email_insert म्यूटेशन.

अपनी क्वेरी परिभाषित करें

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

/dataconnect/default-connector/queries.gql फ़ाइल में बदलाव करना शुरू करें. अगर आपको सभी ईमेल देखने के लिए, इस तरह की क्वेरी का इस्तेमाल करें.

# File `/dataconnect/default-connector/queries.gql`

query ListEmails @auth(level: NO_ACCESS) {
  emails {
    id, subject, text, sent
    from {
      name
    }
  }
}

आस-पास मौजूद CodeLens बटन का इस्तेमाल करके क्वेरी एक्ज़ीक्यूट करें.

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

अपने स्कीमा और क्वेरी को प्रोडक्शन में डिप्लॉय करें

आपने डेवलपमेंट की प्रक्रिया में कई बार काम किया है. अब आप अपने Firebase वाले सर्वर से स्कीमा, डेटा, और क्वेरी एक्सटेंशन यूज़र इंटरफ़ेस (यूआई) या Firebase सीएलआई, जैसा आपने स्कीमा के साथ किया.

अगर डिप्लॉय करने के लिए Firebase बनाम कोड एक्सटेंशन का इस्तेमाल किया जाता है, तो सभी को डिप्लॉय करें पर क्लिक करें बटन.

डिप्लॉयमेंट के बाद, कंसोल पर अपने ऑपरेशन देखे और चलाए जा सकेंगे भी. आपकी डेटा कनेक्ट सेवा काम करने के लिए तैयार हो जाएगी से ग्राहक में बदलने की कोशिश कर रहे हैं. Cloud SQL for PostgreSQL इंस्टेंस, आखिर में डिप्लॉय किया गया जनरेट किया गया स्कीमा और डेटा.

(ज़रूरी नहीं) PostgreSQL को स्थानीय तौर पर इंस्टॉल करना

PostgreSQL को स्थानीय तौर पर इंस्टॉल करना और उसे एम्युलेटर के साथ इंटिग्रेट करना पूरी तरह से स्थानीय विकास वातावरण में प्रोटोटाइप.

आपके पास PostgreSQL का नया इंस्टेंस इंस्टॉल करने या किसी मौजूदा इंस्टेंस का इस्तेमाल करने का विकल्प है.

PostgreSQL इंस्टॉल करें

अपने प्लैटफ़ॉर्म पर दिए गए निर्देशों का पालन करके, PostgreSQL के वर्शन 15.x को इंस्टॉल करें.

इस दौरान होस्टनेम, पोर्ट, उपयोगकर्ता नाम, और पासवर्ड, और इनसे जुड़े पैरामीटर के आउटपुट नोट करें इंस्टॉल करने का क्रम तय करें.

अपने PostgreSQL इंस्टेंस से कनेक्ट करने के लिए, एम्युलेटर को इनकी ज़रूरत होगी:

  • ये सेटअप कॉन्फ़िगरेशन पैरामीटर
  • आपके dataconnect.yaml से लिया गया डेटाबेस का नाम और उससे जुड़ा नाम डेटाबेस को आपके लोकल इंस्टेंस में शुरू किया गया हो.

अपने लोकल PostgreSQL इंस्टेंस का इस्तेमाल करना

आप Data Connect एम्युलेटर की सेटिंग.

firebase setup:emulators:dataconnect

जब कहा जाए, तब PostgreSQL कनेक्शन स्ट्रिंग को इस फ़ॉर्मैट में डालें: postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable.

कनेक्शन स्ट्रिंग के बारे में ज़्यादा जानने के लिए, यहां जाएं: PostgreSQL दस्तावेज़.

अपने लोकल PostgreSQL इंस्टेंस से कनेक्ट करें

यह कॉन्फ़िगरेशन पूरा करने के बाद, अपने लोकल डेटाबेस से कनेक्ट करने के लिए:

  1. बनाम कोड में, बाएं पैनल में, Firebase आइकॉन पर क्लिक करके Firebase बनाम कोड एक्सटेंशन यूज़र इंटरफ़ेस (यूआई).
  2. लोकल PostgreSQL से कनेक्ट करें बटन पर क्लिक करें.

अगले चरण