Cloud Functions for Firebase
क्या Google Cloud में Cloud Functions का इस्तेमाल पहले से किया जा रहा है? Firebase किस तरह काम करता है, इसके बारे में ज़्यादा जानें.
मुख्य सुविधाएं
Firebase की सुविधाओं को इंटिग्रेट करता है और Firebase को Google Cloud से कनेक्ट करता है | आपके लिखे गए फ़ंक्शन, Firebase और Google Cloud की अलग-अलग सुविधाओं से जनरेट होने वाले इवेंट के लिए काम कर सकते हैं. जैसे, Firebase Authentication ट्रिगर से लेकर Cloud Storage ट्रिगर तक. Cloud Functions के साथ Admin SDK का इस्तेमाल करके, Firebase की सभी सुविधाओं को इंटिग्रेट करें. साथ ही, अपने वेबहुक लिखकर तीसरे पक्ष की सेवाओं के साथ इंटिग्रेट करें. Cloud Functions छोटे-मोटे बदलाव वाले कोड को कम करता है. इससे, अपने फ़ंक्शन में Firebase और Google Cloud का इस्तेमाल करना आसान हो जाता है. |
कोई रखरखाव नहीं | कमांड लाइन से एक कमांड देकर, अपने JavaScript, TypeScript या Python कोड को हमारे सर्वर पर डिप्लॉय करें. इसके बाद, Firebase आपके ऐप्लिकेशन के इस्तेमाल के पैटर्न के मुताबिक कंप्यूटिंग रिसोर्स को अपने-आप स्केल अप करता है. आपको कभी क्रेडेंशियल, सर्वर कॉन्फ़िगरेशन, नए सर्वर की प्रोविजनिंग या पुराने सर्वर की सुविधा बंद होने की चिंता नहीं रहती है. |
आपके लॉजिक को निजी और सुरक्षित बनाए रखता है | कई मामलों में, डेवलपर ऐप्लिकेशन के लॉजिक को सर्वर पर कंट्रोल करना पसंद करते हैं, ताकि क्लाइंट साइड पर होने वाली छेड़छाड़ से बचा जा सके. इसके अलावा, कभी-कभी यह भी ज़रूरी होता है कि उस कोड को रिवर्स इंजीनियरिंग की अनुमति न दी जाए. Cloud Functions, क्लाइंट से पूरी तरह अलग है, ताकि आप यह पक्का कर सकें कि यह निजी है और हमेशा वही काम करता है जो आपको चाहिए. |
यह कैसे काम करता है?
फ़ंक्शन लिखने और उसे डिप्लॉय करने के बाद, Google के सर्वर तुरंत फ़ंक्शन को मैनेज करना शुरू कर देते हैं. फ़ंक्शन को सीधे तौर पर एचटीटीपी अनुरोध, Admin SDK या शेड्यूल किए गए जॉब से ट्रिगर किया जा सकता है. बैकग्राउंड फ़ंक्शन के मामले में, Google के सर्वर इवेंट सुनते हैं और ट्रिगर होने पर फ़ंक्शन को चलाते हैं.
लोड बढ़ने या कम होने पर, Google आपके फ़ंक्शन को चलाने के लिए ज़रूरी वर्चुअल सर्वर इंस्टेंस की संख्या को तेज़ी से बढ़ाता या घटाता है. हर फ़ंक्शन अलग से काम करता है. यह अपने कॉन्फ़िगरेशन के साथ अपने एनवायरमेंट में काम करता है.
बैकग्राउंड फ़ंक्शन की लाइफ़साइकल
- आपको एक नए फ़ंक्शन के लिए कोड लिखना होगा. इसके लिए, आपको इवेंट प्रोवाइडर (जैसे कि Cloud Firestore) चुनना होगा. साथ ही, आपको वे शर्तें तय करनी होंगी जिनके तहत फ़ंक्शन को लागू किया जाना चाहिए.
- फ़ंक्शन डिप्लॉय करने पर:
- Firebase सीएलआई, फ़ंक्शन कोड का
.zip
संग्रह बनाता है. इसके बाद, इसे Cloud Storage बकेट में अपलोड किया जाता है. इस बकेट के नाम की शुरुआतgcf-sources
से होती है. इसके बाद, Cloud Functions आपके प्रोजेक्ट में Artifact Registry रिपॉज़िटरी बनाता है. इस रिपॉज़िटरी का नामgcf-artifacts
होता है. - Cloud Build फ़ंक्शन कोड को वापस लाता है और फ़ंक्शन का सोर्स बनाता है. Cloud Build लॉग, Google Cloud कंसोल में देखे जा सकते हैं.
- बनाए गए फ़ंक्शन के कोड की कंटेनर इमेज, आपके प्रोजेक्ट में मौजूद Artifact Registry नाम की निजी
gcf-artifacts
रिपॉज़िटरी में अपलोड की जाती है. इसके बाद, आपका नया फ़ंक्शन रोल आउट कर दिया जाता है.
- Firebase सीएलआई, फ़ंक्शन कोड का
- जब इवेंट प्रोवाइडर ऐसा इवेंट जनरेट करता है जो फ़ंक्शन की शर्तों से मेल खाता है, तब कोड को चालू किया जाता है. फ़ंक्शन से एक सेवा खाता जुड़ा होता है. इसका इस्तेमाल, Firebase Admin SDK की मदद से Firebase की अन्य सेवाओं को ऐक्सेस करने के लिए किया जा सकता है.
- अगर फ़ंक्शन कई इवेंट मैनेज कर रहा है, तो Google काम को तेज़ी से पूरा करने के लिए ज़्यादा इंस्टेंस बनाता है. अगर फ़ंक्शन का इस्तेमाल नहीं किया जा रहा है, तो इंस्टेंस हटा दिए जाते हैं.
- अपडेट किए गए कोड को डिप्लॉय करके फ़ंक्शन को अपडेट करने पर, पुराने वर्शन के इंस्टेंस और Artifact Registry में मौजूद बिल्ड आर्टफ़ैक्ट मिटा दिए जाते हैं. इसके बाद, उनकी जगह नए इंस्टेंस ले लेते हैं.
- फ़ंक्शन मिटाने पर, सभी इंस्टेंस और ज़िप संग्रह मिट जाते हैं. साथ ही, Artifact Registry में मौजूद, उनसे जुड़े बिल्ड आर्टफ़ैक्ट भी मिट जाते हैं. फ़ंक्शन और इवेंट प्रोवाइडर के बीच कनेक्शन हट जाता है.
बैकग्राउंड फ़ंक्शन के साथ इवेंट सुनने के अलावा, एचटीटीपी अनुरोध या क्लाइंट से कॉल करके फ़ंक्शन को सीधे तौर पर कॉल किया जा सकता है. Admin SDK के ज़रिए, फ़ंक्शन को किसी तय शेड्यूल पर ट्रिगर किया जा सकता है या टास्क फ़ंक्शन को कतार में लगाया जा सकता है.
लागू करने का तरीका
Cloud Functions सेट अप करें | Firebase CLI इंस्टॉल करें और अपने Firebase प्रोजेक्ट में Cloud Functions को शुरू करें. | |
फ़ंक्शन लिखना | Firebase सेवाओं, Google Cloud सेवाओं या इवेंट की अन्य सेवाओं से इवेंट मैनेज करने के लिए, JavaScript कोड, TypeScript कोड या Python कोड लिखें. | |
टेस्ट फ़ंक्शन | अपने फ़ंक्शन की जांच करने के लिए, लोकल एम्युलेटर का इस्तेमाल करें. | |
डिप्लॉय और मॉनिटर करना | अपने प्रोजेक्ट को इस्तेमाल के हिसाब से शुल्क चुकाने वाले Blaze प्लान पर अपग्रेड करें. इसके बाद, Firebase CLI का इस्तेमाल करके अपने फ़ंक्शन डिप्लॉय करें. इसके बाद, अपने लॉग देखने और उनमें खोजने के लिए, Google Cloud कंसोल का इस्तेमाल किया जा सकता है. |
अगले चरण
- फ़ंक्शन सेट अप करने, बनाने, और डिप्लॉय करने के लिए, शुरू करें.
- इस बारे में ज़्यादा जानें कि फ़ंक्शन की मदद से क्या-क्या किया जा सकता है.
- Cloud Functions कोडलैब आज़माएं.