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