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

इस शुरुआती लेख में, आपको ये काम करने का तरीका पता चलेगा:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

इसके अलावा, Data Connect एमुलेटर की मदद से, स्थानीय डेवलपमेंट के लिए स्थानीय PostgreSQL डेटाबेस भी इंस्टॉल किया जा सकता है. इस सेटअप के बारे में, क्विकस्टार्ट गाइड के आखिर में बताया गया है.

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

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

npm install -g firebase-tools

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

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

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

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

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

स्कीमा बनाना

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

उपयोगकर्ता

Data Connect में, GraphQL फ़ील्ड कॉलम पर मैप किए जाते हैं. उपयोगकर्ताओं के पास 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 Data Connect डिफ़ॉल्ट रूप से उसे जोड़ देगा दिया गया है. हालांकि, इस मामले में आप मेरे 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 VS Code एक्सटेंशन का इस्तेमाल किया जा रहा है, तो आगे बढ़ने से पहले आपको अपना स्कीमा डिप्लॉय करना होगा. इस तारीख के बाद अपने स्कीमा को अपने प्रोडक्शन डेटाबेस में डिप्लॉय करते समय, आपको कंसोल पर स्कीमा के बारे में जानकारी ढूंढता है.

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

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

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

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

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

अपनी क्वेरी तय करें

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Data Connect एमुलेटर की सेटिंग अपडेट करके, किसी मौजूदा स्थानीय PostgreSQL इंस्टेंस का इस्तेमाल किया जा सकता है.

firebase setup:emulators:dataconnect

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

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

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

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

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

अगले चरण