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