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 एनवायरमेंट की पहचान कर सकता है.