Cloud Functions for Firebase में Dart के एक्सपेरिमेंटल वर्शन की मदद से, Flutter और Dart का इस्तेमाल करके फ़ुल-स्टैक ऐप्लिकेशन बनाए जा सकते हैं. Firebase की अन्य सेवाओं से कम्यूनिकेट करने के लिए, नए Firebase Admin Dart SDK का इस्तेमाल करें.
Dart फ़ंक्शन का इस्तेमाल शुरू करने के लिए, इस गाइड में दिए गए सेटअप से जुड़े टास्क पूरे करें. इसके बाद, Dart HTTP और कॉल किए जा सकने वाले फ़ंक्शन के बारे में जानें.
ज़रूरी शर्तें
- Dart SDK 3.9 या इसके बाद का वर्शन
- Firebase CLI (वर्शन 15.15.0 या इसके बाद का वर्शन)
यह पक्का करें कि आपके पास Firebase CLI का वह वर्शन हो जो
Cloud Functions for Firebase में Dart को सपोर्ट करता हो. इसके लिए, --version फ़्लैग का इस्तेमाल करें:
`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 आपके डेवलपमेंट मशीन पर Dart कंपाइल स्टेप चलाता है और जनरेट की गई बाइनरी को सीधे Cloud Run फ़ंक्शन पर अपलोड करता है.
डिप्लॉयमेंट पूरा होने पर, आपको Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app जैसी लॉग लाइन दिखेगी
हाल ही में डिप्लॉय किए गए Dart फ़ंक्शन को कॉल करने के लिए, उस यूआरएल को अपने ब्राउज़र में लोड करें.
अगले चरण
- कॉन्फ़िगरेशन के विकल्प सेट करना. जैसे, कम से कम इंस्टेंस.
- एचटीटीपी फ़ंक्शन और कॉल किए जा सकने वाले फ़ंक्शन के बारे में ज़्यादा जानना.
- Dart फ़ंक्शन कोडलैब Dart फ़ंक्शन कोडलैब को फ़ॉलो करना
- अपने फ़ंक्शन से, अन्य सेवाओं (जैसे, ) से इंटरैक्ट करने के लिए, Dart के एक्सपेरिमेंटल वर्शन का इस्तेमाल करनाAdmin SDKFirebaseCloud Firestore
onRequestएचटीटीपी फ़ंक्शन के अलावा,onCallसैंपल या स्ट्रीमिंग के साथonCallसैंपल आज़माया जा सकता है. इससे, फ़ंक्शन को सीधे अपने ऐप्लिकेशन से कॉल किया जा सकता है . हालांकि, कॉल करने के तरीके से जुड़ी खास सीमा का ध्यान रखें.
सीमाएं
onCallट्रिगर को डिप्लॉय किया जा सकता है. हालांकि, इसे क्लाइंट एसडीके से कॉल नहीं किया जा सकता . इसके लिए, httpsCallable जैसे तरीकों का इस्तेमाल किया जाता है . इन तरीकों से, फ़ंक्शन की पहचान नाम से की जाती है. इसके बजाय, httpsCallableFromURL जैसे तरीकों का इस्तेमाल किया जा सकता है. साथ ही, अपने फ़ंक्शन का पूरा Cloud Run यूआरएल पास किया जा सकता है.- Firestore ट्रिगर जैसे अन्य ट्रिगर को लोकल एम्युलेटर सुइट में चलाया जा सकता है, लेकिन उन्हें डिप्लॉय नहीं किया जा सकता.
- Firebase कंसोल में एक्सपेरिमेंटल रिलीज़ के दौरान Dart फ़ंक्शन नहीं दिखते. इसके बजाय, Cloud Run फ़ंक्शन वाले पेज पर Cloud console देखे जा सकते हैं.
अगर आपको Dart फ़ंक्शन के साथ काम करते समय समस्याएं आती हैं, तो हमारी टीम को रिपोर्ट भेजें . इससे हमें Dart SDK के एक्सपेरिमेंटल वर्शन को बेहतर बनाने और उसका दायरा बढ़ाने में मदद मिलेगी.