Cloud Functions for Firebase में Dart के साथ एक्सपेरिमेंट करने की सुविधा उपलब्ध है. इसकी मदद से, Flutter और Dart का इस्तेमाल करके फ़ुल-स्टैक ऐप्लिकेशन बनाए जा सकते हैं. नए Firebase Admin Dart SDK की मदद से, Firebase की अन्य सेवाओं से कम्यूनिकेट करें.
Dart फ़ंक्शन का इस्तेमाल शुरू करने के लिए, इस गाइड में दिए गए सेटअप के टास्क पूरे करें. इसके बाद, Dart HTTP और कॉल किए जा सकने वाले फ़ंक्शन के बारे में और जानें.
ज़रूरी शर्तें
- Dart SDK 3.9 या इसके बाद का वर्शन
- Firebase सीएलआई (वर्शन 15.15.0 या इसके बाद का वर्शन)
देखें कि आपके पास Firebase CLI का ऐसा वर्शन हो जो --version फ़्लैग के साथ Cloud Functions for Firebase में Dart के साथ काम करता हो:
`firebase --version`
Firebase CLI में एक्सपेरिमेंट चालू करना
firebase experiments:enable dartfunctions
अपना प्रोजेक्ट शुरू करना
- शुरू करें:
bash 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 फ़ंक्शन को कॉल किया जा सके.
अगले चरण
- कम से कम इंस्टेंस जैसे कॉन्फ़िगरेशन के विकल्प सेट करें.
- एचटीटीपी फ़ंक्शन और कॉल किए जा सकने वाले फ़ंक्शन के बारे में ज़्यादा जानें.
- Dart फ़ंक्शन के बारे में कोडलैब Dart फ़ंक्शन के बारे में कोडलैब को फ़ॉलो करें
- अपने फ़ंक्शन से Cloud Firestore जैसी अन्य Firebase सेवाओं के साथ इंटरैक्ट करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध Dart Admin SDK का इस्तेमाल करें
onRequestएचटीटीपी फ़ंक्शन के अलावा,onCallसैंपल याonCallस्ट्रीमिंग वाले सैंपल का इस्तेमाल करके, अपने ऐप्लिकेशन से सीधे तौर पर फ़ंक्शन कॉल किए जा सकते हैं. हालांकि, कॉल करने के तरीके से जुड़ी खास सीमा का ध्यान रखें.
सीमाएं
onCallट्रिगर को डिप्लॉय किया जा सकता है. हालांकि, इसे क्लाइंट एसडीके से कॉल नहीं किया जा सकता. इसके लिए, httpsCallable जैसे तरीकों का इस्तेमाल किया जाता है. ये तरीके, नाम के हिसाब से फ़ंक्शन की पहचान करते हैं. इसके बजाय, httpsCallableFromURL जैसे तरीकों का इस्तेमाल किया जा सकता है. साथ ही, अपने फ़ंक्शन का पूरा Cloud Run यूआरएल पास किया जा सकता है.- Firestore ट्रिगर जैसे अन्य ट्रिगर, लोकल एम्युलेटर सुइट में चलाए जा सकते हैं. हालांकि, इन्हें डिप्लॉय नहीं किया जा सकता.
- Firebase कंसोल, एक्सपेरिमेंटल रिलीज़ के दौरान Dart फ़ंक्शन नहीं दिखाता है. हालांकि, अब Dart फ़ंक्शन को Cloud कंसोल के Cloud Run फ़ंक्शन पेज पर देखा जा सकता है.
अगर आपको Dart फ़ंक्शन का इस्तेमाल करते समय समस्याएं आती हैं, तो हमारा सुझाव है कि आप टीम को एक रिपोर्ट भेजें. इससे हमें एक्सपेरिमेंट के तौर पर उपलब्ध Dart SDK को बेहतर बनाने और इसका दायरा बढ़ाने में मदद मिलेगी.