Cloud Functions for Firebase में Dart के लिए एक्सपेरिमेंट के तौर पर उपलब्ध सुविधा की मदद से, Flutter और Dart का इस्तेमाल करके फ़ुल-स्टैक ऐप्लिकेशन बनाए जा सकते हैं. नए Firebase Admin Dart SDK की मदद से, Firebase की अन्य सेवाओं से कम्यूनिकेट करें.
Dart फ़ंक्शन का इस्तेमाल शुरू करने के लिए, इस गाइड में दिए गए सेटअप के टास्क पूरे करें. इसके बाद, Dart HTTP और कॉल किए जा सकने वाले फ़ंक्शन के बारे में जानें.
ज़रूरी शर्तें
- Dart SDK 3.9 या इसके बाद का वर्शन
- Firebase सीएलआई (15.15.0 या इसके बाद का वर्शन)
पक्का करें कि आपके पास Firebase सीएलआई का ऐसा वर्शन हो जो --version फ़्लैग के साथ Cloud Functions for Firebase में Dart के साथ काम करता हो:
`firebase --version`
Firebase CLI में एक्सपेरिमेंट चालू करना
firebase experiments:enable dartfunctions
अपने प्रोजेक्ट को शुरू करना
रन:
firebase init functionsअपनी भाषा के तौर पर Dart को चुनें.
जब आपसे पूछा जाए कि "क्या आपको अभी डिपेंडेंसी इंस्टॉल करनी हैं?", तो "हाँ" पर क्लिक करें.
फ़ंक्शन का कोड देखना
functions/bin/server.dart में जनरेट किया गया कोड (या आपका एंट्री पॉइंट) देखें. इस कोड में, एक सामान्य एचटीटीपी फ़ंक्शन दिखाया गया है.
ध्यान दें कि सैंपल कोड में, HttpsOptions कंस्ट्रक्टर का इस्तेमाल करके helloWorld फ़ंक्शन के लिए, ज़्यादा से ज़्यादा 10 इंस्टेंस सेट किए गए हैं. सेट रनटाइम विकल्प में जाकर, रनटाइम विकल्पों के बारे में ज़्यादा जानें.
स्थानीय तौर पर टेस्ट करना
firebase emulators:start
Local Emulator Suite बूट होने के बाद, आपको functions http function initialized
(http://127.0.0.1:5001/<url>) जैसी लॉग लाइन दिखेगी. अपने ब्राउज़र में उस यूआरएल को लोड करें, ताकि स्थानीय तौर पर सिम्युलेट किए गए Dart फ़ंक्शन को कॉल किया जा सके.
Dart कोड में बदलाव करने पर, Firebase Local Emulator Suite को बदलाव का पता चल जाएगा और वह आपके फ़ंक्शन को अपने-आप फिर से लोड कर देगा.
डिप्लॉय करें
firebase deploy --only functions
Dart को डिप्लॉय करने की प्रोसेस, Node.js या Python फ़ंक्शन से अलग होती है. Cloud Build में बनाने के लिए, सोर्स कोड अपलोड करने के बजाय, Firebase CLI आपकी डेवलपमेंट मशीन पर डार्ट कंपाइल स्टेप चलाता है. साथ ही, जनरेट किए गए बाइनरी को सीधे Cloud Run फ़ंक्शन पर अपलोड करता है.
डप्लॉयमेंट पूरा होने पर, आपको इस तरह की लॉग लाइन दिखेगी Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
अपने ब्राउज़र में उस यूआरएल को लोड करें, ताकि आपके नए डिप्लॉय किए गए Dart फ़ंक्शन को कॉल किया जा सके.
अगले चरण
- कम से कम इंस्टेंस जैसे कॉन्फ़िगरेशन के विकल्प सेट करें.
- एचटीटीपी फ़ंक्शन और कॉल किए जा सकने वाले फ़ंक्शन के बारे में ज़्यादा जानें.
- डार्ट फ़ंक्शन कोडलैब डार्ट फ़ंक्शन कोडलैब को फ़ॉलो करें
- अपने फ़ंक्शन से, Firebase जैसी अन्य सेवाओं के साथ इंटरैक्ट करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध Dart Admin SDK का इस्तेमाल करेंCloud Firestore
onRequestएचटीटीपी फ़ंक्शन के अलावा,onCallसैंपल याonCallस्ट्रीमिंग वाले सैंपल का इस्तेमाल करके, अपने ऐप्लिकेशन से सीधे तौर पर फ़ंक्शन कॉल किए जा सकते हैं. हालांकि, कॉल करने के तरीके से जुड़ी खास सीमा का ध्यान रखें.
सीमाएं
onCallट्रिगर को डिप्लॉय किया जा सकता है. हालांकि, इसे क्लाइंट एसडीके से कॉल नहीं किया जा सकता. इसके लिए, httpsCallable जैसे तरीकों का इस्तेमाल किया जाता है. ये तरीके, नाम के हिसाब से फ़ंक्शन की पहचान करते हैं. इसके बजाय, httpsCallableFromURL जैसे तरीकों का इस्तेमाल किया जा सकता है. साथ ही, अपने फ़ंक्शन का पूरा Cloud Run यूआरएल पास किया जा सकता है.- Firestore ट्रिगर जैसे अन्य ट्रिगर, लोकल एम्युलेटर सुइट में चलाए जा सकते हैं. हालांकि, इन्हें डिप्लॉय नहीं किया जा सकता.
- Firebase कंसोल, एक्सपेरिमेंटल रिलीज़ के दौरान Dart फ़ंक्शन नहीं दिखाता है. इसके बजाय, Cloud console के Cloud Run फ़ंक्शन पेज पर जाकर, Dart फ़ंक्शन देखे जा सकते हैं.
अगर आपको Dart फ़ंक्शन का इस्तेमाल करते समय समस्याएं आती हैं, तो हमारा सुझाव है कि आप टीम को इसकी रिपोर्ट भेजें. इससे हमें एक्सपेरिमेंट के तौर पर उपलब्ध Dart SDK को बेहतर बनाने और इसका दायरा बढ़ाने में मदद मिलेगी.