डेटा कनेक्ट के लिए, Firebase सीएलआई कमांड का रेफ़रंस

Firebase सीएलआई एक ऐसा टूल है जिससे Firebase को मैनेज और कॉन्फ़िगर किया जा सकता है ऑर्डर लाइन से प्रॉडक्ट और सेवाओं को लॉन्च कर सकते हैं.

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

निर्देश सेटअप करें

Data Connect को Firebase प्रोजेक्ट से जोड़ना

firebase init

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

firebase init

firebase init फ़्लो आपको सेवा और डेटाबेस सेट अप करने का तरीका बताता है. साथ ही, Data Connect एम्युलेटर को इंस्टॉल करें और जनरेट किए गए SDK टूल कॉन्फ़िगर करने में मदद मिलती है.

सेवा और डेटाबेस सेटअप करना

अगर आपने प्रॉडक्ट सेटअप के लिए dataconnect चुना है, तो सीएलआई आपको नई सेवा का नाम और जगह पूछेगा. साथ ही, यह भी पूछेगा कि आपको 'PostgreSQL के लिए Cloud SQL' के किसी मौजूदा इंस्टेंस को लिंक करना है या नया इंस्टेंस बनाना है.

अगर कोई मौजूदा इंस्टेंस लिंक किया गया है, तो सीएलआई उसके साथ काम करने वाली सेटिंग की जांच करता है, जैसे कि का इस्तेमाल, IAM ऑथेंटिकेशन और सार्वजनिक आईपी पतों के तौर पर करता है.

Local Emulator Suite सेटअप

सीएलआई फ़्लो, एम्युलेटर सेट अप करने की सुविधा देता है. इनमें Data Connect भी शामिल है एम्युलेटर.

एम्युलेटर के लिए Data Connect निर्देश

Data Connect एम्युलेटर शुरू करना

emulators:start/exec

firebase emulators:start/exec

Data Connect एम्युलेटर के Local Emulator Suite वर्शन का इस्तेमाल करें start के साथ इंटरैक्टिव मोड में या स्क्रिप्ट-ड्रिवन, नॉन-इंटरैक्टिव मोड में exec.

स्कीमा और कनेक्टर मैनेजमेंट के निर्देश

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

इन निर्देशों से जुड़े 'कैसे करें' निर्देशों और सुझाए गए तरीकों के बारे में जानने के लिए, यह देखें स्कीमा और कनेक्टर प्रबंधन गाइड देखें.

स्कीमा और कनेक्टर संसाधनों को डिप्लॉय करना

डिप्लॉय करना

firebase deploy

यह कमांड, firebase.json में इंडेक्स की गई Data Connect सेवाओं के लिए संसाधनों को डिप्लॉय करता है. स्कीमा माइग्रेशन ज़रूरत पड़ने पर की जाती है.

Command जानकारी

firebase deploy

फ़्लैग करें जानकारी

–-only dataconnect

इस प्रोजेक्ट के लिए, Data Connect की सभी सेवाओं के लिए स्कीमा और कनेक्टर डिप्लॉय करें. हालांकि, Firebase के अन्य प्रॉडक्ट के संसाधनों को डिप्लॉय न करें.

–-only dataconnect:serviceId

चुनी गई Data Connect सेवा के लिए स्कीमा और कनेक्टर डिप्लॉय करें.

–-only dataconnect:serviceId:connectorId

किसी खास Data Connect सेवा के लिए, एक कनेक्टर डिप्लॉय करें.

–-only dataconnect:serviceId:schema

बताई गई Data Connect सेवा के लिए स्कीमा डिप्लॉय करें.

–-only फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू पास की जा सकती हैं, ताकि आप अपने हिसाब से रिसॉर्स का कोई भी सबसेट डिप्लॉय कर सकें.

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

Data Connect की सेवाओं, स्कीमा, और कनेक्टर की सूची बनाना

dataconnect:services:list

firebase dataconnect:services:list

यह निर्देश सेवाओं, स्कीमा, और कनेक्टर के बारे में बुनियादी जानकारी प्रिंट करता है किसी प्रोजेक्ट पर डिप्लॉय किया जाता है.

SQL स्कीमा की तुलना करना और उन्हें माइग्रेट करना

dataconnect:sql:diff

firebase dataconnect:sql:diff

यह कमांड, किसी सेवा के लोकल स्कीमा की तुलना, उससे जुड़े Cloud SQL डेटाबेस के मौजूदा स्कीमा से करता है. यह चलाए जाने वाले निर्देशों को प्रिंट करता है का इस्तेमाल करें.

Command जानकारी

Firebase dataconnect:sql:diff

फ़्लैग/पैरामीटर जानकारी

सेवा आईडी

सेवा की जानकारी दें. अगर जानकारी नहीं है, तो इसे प्रिंट करने के लिए firebase.json में सभी सेवाओं के लिए अंतर.

dataconnect:sql:माइग्रेट करें

firebase dataconnect:sql:migrate

यह निर्देश, किसी सेवा के Cloud SQL डेटाबेस में लोकल स्कीमा बदलाव लागू करता है.

जब नया लोकल Data Connect प्रोजेक्ट सेट अप किया जाता है, तो डिफ़ॉल्ट dataconnect.yaml फ़ाइल, dataconect:sql:migrate निर्देश का व्यवहार आपको किसी ज़रूरी बदलाव के बारे में बताना है. इसके बाद, बदलावों को लागू करने से पहले 'बदलाव'. dataconnect.yaml कॉन्फ़िगरेशन को अपडेट करके, इस व्यवहार को बदला जा सकता है, ताकि वैकल्पिक बदलावों को हमेशा शामिल किया जा सके या उन्हें अनदेखा किया जा सके. इस बारे में स्क्रैमा को स्ट्रिक्ट या काम करने वाले मोड में माइग्रेट करना में बताया गया है

इंटरैक्टिव एनवायरमेंट में, सीएलआई हर माइग्रेशन एसक्यूएल स्टेटमेंट दिखाता है (और क्या यह विनाशकारी है) और उन परिवर्तनों के बारे में सूचित करता है जिन्हें आप लागू करना चाहते हैं. --force फ़्लैग पास करना, सभी प्रॉम्प्ट स्वीकार करने के बराबर है.

नॉन-इंटरैक्टिव एनवायरमेंट में:

  • --force के बिना, सिर्फ़ नुकसान न पहुंचाने वाले बदलाव किए जाते हैं. अगर कोई ऐसा बदलाव किया जाता है जिससे डेटा को नुकसान पहुंच सकता है, तो सीएलआई प्रोसेस को रद्द कर दिया जाता है और कोई बदलाव नहीं किया जाता.
  • --force के साथ, सभी बदलाव किए जाते हैं. अगर इसमें नुकसान पहुंचाने वाला कोई किए जाते हैं, तो उन्हें प्रिंट कर दिया जाता है और आपको संकेत दिया जाता है कि क्या आप जारी रखना चाहते हैं, जब तक कि --force फ़्लैग नहीं दिया जाता.
Command जानकारी

Firebase dataconnect:sql:माइग्रेट करें

फ़्लैग करें जानकारी

serviceId

बताई गई सेवा के लिए डेटाबेस को माइग्रेट करें. अगर आपके प्रोजेक्ट में सिर्फ़ एक सेवा है, तो serviceId का अनुमान लगाया जाता है.

–-बल

प्रॉम्प्ट अपने-आप स्वीकार करें.

अन्य --only फ़्लैग की तरह, एक से ज़्यादा सेवाएं दी जा सकती हैं. इन्हें कॉमा लगाकर अलग किया जा सकता है.

किसी स्कीमा को स्ट्रिक्ट या कम्पैटबिलिटी मोड में माइग्रेट करना

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

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

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

SDK टूल के निर्देश

SDK टूल जनरेट करना

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

यह निर्देश, connector.yaml में बताए गए टाइप किए गए SDK टूल जनरेट करता है.

वेब SDK टूल, Android SDK टूल, और iOS SDK टूल के साथ काम करने के लिए गाइड भी देखें.

Command जानकारी

Firebase dataconnect:sdk:generate

फ़्लैग करें जानकारी

–-watch

जब भी आप अपने स्कीमा और कनेक्टर GQL फ़ाइलों में बदलावों को सेव करते हैं, तो यह प्रोसेस चलती रहती है और नए SDK जनरेट करती है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है जनरेट नहीं हो पाने पर, गड़बड़ियों को stdout पर प्रिंट किया जाएगा, को बदला नहीं जाएगा और आदेश चलता रहेगा.

–-सिर्फ़ ConnectorId:platform

सिर्फ़ एक प्लैटफ़ॉर्म और एक कनेक्टर के लिए SDK टूल जनरेट करें.

–only फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू दी जा सकती हैं.

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

Cloud SQL मैनेजमेंट के निर्देश

Cloud SQL के लिए SQL की भूमिकाएं देना

dataconnect:sql:grant

firebase dataconnect:sql:grant

यह कमांड, बताए गए उपयोगकर्ता या सेवा खाते को PostgreSQL उपयोगकर्ता की भूमिका देता है:

  • रीडर: स्कीमा में मौजूद टेबल से डेटा पढ़ सकता है.
  • राइटर: स्कीमा में मौजूद टेबल को पढ़ सकता है और उनमें बदलाव कर सकता है.
  • मालिक: माइग्रेशन कर सकता है और स्कीमा में बदलाव कर सकता है. इसमें ये चीज़ें शामिल नहीं हैं करने की अनुमति नहीं है.
निर्देश जानकारी

firebase dataconnect:sql:grant

फ़्लैग/पैरामीटर जानकारी

-आर, --भूमिका की भूमिका

SQL की वह भूमिका जिसे आपको देना है. जैसे: मालिक, लेखक या पाठक.

-E, --ईमेल email_address

किसी उपयोगकर्ता या सेवा खाते के लिए, भूमिका देने के लिए ईमेल.

ग्लोबल विकल्प

ये ग्लोबल विकल्प सभी निर्देशों पर लागू होते हैं:

  • --json, दूसरे टूल से पार्स करने के लिए, सीएलआई आउटपुट को JSON पर स्विच करता है.
  • --noninteractive और --interactive में बदलाव, ज़रूरत के हिसाब से, अपने-आप होगा गैर-TTY एनवायरमेंट की पहचान कर सकता है.