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

इस शुरुआती लेख में, आपको अपने ऐप्लिकेशन में Firebase Data Connect बनाने का तरीका पता चलेगा.

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

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

अपने स्थानीय एनवायरमेंट में, इस शुरुआती निर्देश का इस्तेमाल करने के लिए, आपके पास ये चीज़ें होनी चाहिए.

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

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

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

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

  6. सेटअप के बाकी चरणों को पूरा करें. इसके बाद, हो गया पर क्लिक करें.

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

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

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

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

  1. अपने लोकल प्रोजेक्ट के लिए एक नई डायरेक्ट्री बनाएं.
  2. नई डायरेक्ट्री में VS Code खोलें.
  3. Visual Studio Code Marketplace से Firebase Data Connect एक्सटेंशन इंस्टॉल करें.

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

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

npm install -g firebase-tools

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

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

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

  1. Google से साइन इन करें बटन पर क्लिक करें.
  2. Firebase प्रोजेक्ट कनेक्ट करें बटन पर क्लिक करें और वह प्रोजेक्ट चुनें जिसे आपने पहले कंसोल में बनाया था.
  3. firebase init चलाएं बटन पर क्लिक करें.
  4. अगर आपका प्रोजेक्ट Blaze प्लान पर है, तो "क्या आपको अब अपने बैकएंड संसाधनों को कॉन्फ़िगर करना है?" के लिए, "हां" में जवाब दें.
  5. एम्युलेटर शुरू करें बटन पर क्लिक करें.

स्कीमा बनाना

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

मूवी

Data Connect में, GraphQL फ़ील्ड कॉलम पर मैप किए जाते हैं. Movie के टाइप में id, title, imageUrl, और genre शामिल हैं. Data Connect प्राइमटिव डेटा टाइप String और UUID को पहचानता है.

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

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

# By default, a UUID id key will be created by default as primary key.
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

MovieMetadata

अब आपके पास फ़िल्में हैं, इसलिए फ़िल्म का मेटाडेटा मॉडल किया जा सकता है.

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

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

ध्यान दें कि movie फ़ील्ड, Movie टाइप पर मैप किया गया है. Data Connect को पता है कि यह Movie और MovieMetadata के बीच का संबंध है. साथ ही, वह आपके लिए इस संबंध को मैनेज करेगा.

दस्तावेज़ में, Data Connect स्कीमा के बारे में ज़्यादा जानें

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

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

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

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

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

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

  1. schema.gql में, Movie टाइप के एलान के ऊपर मौजूद, डेटा जोड़ें बटन पर क्लिक करें.
    Firebase Data Connect के लिए, कोड लेंस का &#39;डेटा जोड़ें&#39; बटन
  2. जनरेट की गई Movie_insert.gql फ़ाइल में, चार फ़ील्ड के लिए डेटा को हार्ड कोड करें.
  3. चालू करें (प्रोडक्शन) बटन पर क्लिक करें.
    Firebase Data Connect के लिए, कोड लेंस चलाने का बटन
  4. MovieMetadata टेबल में रिकॉर्ड जोड़ने के लिए, पिछले चरण दोहराएं. इसके लिए, जनरेट किए गए MovieMetadata_insert म्यूटेशन में बताए गए तरीके के मुताबिक, movieId फ़ील्ड में अपनी फ़िल्म का id डालें.

डेटा जोड़े जाने की पुष्टि करने के लिए:

  1. schema.gql में वापस जाकर, Movie टाइप के एलान के ऊपर मौजूद, डेटा पढ़ें बटन पर क्लिक करें.
  2. क्वेरी को लागू करने के लिए, जनरेट हुई Movie_read.gql फ़ाइल में, चालू करें (प्रोडक्शन) बटन पर क्लिक करें.

दस्तावेज़ में, Data Connect म्यूटेशन के बारे में ज़्यादा जानें

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

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

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

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

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

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

दस्तावेज़ में, Data Connect क्वेरी के बारे में ज़्यादा जानें

SDK टूल जनरेट करना और उन्हें अपने ऐप्लिकेशन में इस्तेमाल करना

  1. ऐप्लिकेशन में SDK टूल जोड़ें बटन पर क्लिक करें.
  2. इसके बाद, एक डायलॉग बॉक्स दिखेगा. इसमें, अपने ऐप्लिकेशन का कोड वाली डायरेक्ट्री चुनें. Data Connect. SDK टूल का कोड जनरेट होकर वहां सेव हो जाएगा.

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

क्लाइंट ऐप्लिकेशन (वेब, Android, iOS, Flutter) से क्वेरी और म्यूटेशन को कॉल करने के लिए, जनरेट किए गए SDK टूल का इस्तेमाल करने का तरीका जानें.

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

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

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

डिप्लॉय करने के बाद, Firebase कंसोल पर जाकर, पुष्टि करें कि स्कीमा, कार्रवाइयां, और डेटा क्लाउड पर अपलोड हो गया है. आपको स्कीमा देखने के साथ-साथ, Console पर भी अपने ऑपरेशन चलाने की सुविधा मिलनी चाहिए. 'PostgreSQL के लिए Cloud SQL' इंस्टेंस को, डिप्लॉय किए गए आखिरी स्कीमा और डेटा के साथ अपडेट किया जाएगा.

दस्तावेज़ में, Data Connect एमुलेटर का इस्तेमाल करने के बारे में ज़्यादा जानें

अगले चरण

डिप्लॉय किए गए प्रोजेक्ट की समीक्षा करें और ज़्यादा टूल खोजें:

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

  • स्कीमा, क्वेरी, और म्यूटेशन डेवलपमेंट के बारे में ज़्यादा जानें

  • वेब, Android, iOS, और Flutter के लिए क्लाइंट कोड से क्लाइंट SDK टूल जनरेट करने और क्वेरी और म्यूटेशन को कॉल करने के बारे में जानें.