Cloud Functions for Firebase

Cloud Functions for Firebase, सर्वरलेस फ़्रेमवर्क है. इसकी मदद से, बैकग्राउंड इवेंट, एचटीटीपीएस अनुरोध, Admin SDK या Cloud Scheduler जॉब से ट्रिगर होने वाले इवेंट के जवाब में, बैकएंड कोड अपने-आप चलाया जा सकता है. आपका JavaScript, TypeScript या Python कोड, Google Cloud के इंफ़्रास्ट्रक्चर पर सेव होता है. साथ ही, यह मैनेज किए जा रहे एनवायरमेंट में काम करता है. आपको अपने सर्वर को मैनेज करने और उन्हें स्केल करने की ज़रूरत नहीं है.

शुरू करना इस्तेमाल के उदाहरण




शुरू करें.

मुख्य सुविधाएं

Firebase की सुविधाओं को इंटिग्रेट करता है और Firebase को Google Cloud से कनेक्ट करता है

आपके लिखे गए फ़ंक्शन, Firebase और Google Cloud की अलग-अलग सुविधाओं से जनरेट होने वाले इवेंट का जवाब दे सकते हैं. इनमें, Firebase से पुष्टि करने वाले ट्रिगर से लेकर Cloud Storage ट्रिगर तक शामिल हैं.

Cloud Functions के साथ Admin SDK का इस्तेमाल करके, Firebase की सभी सुविधाओं को इंटिग्रेट करें. साथ ही, अपने वेबहुक लिखकर, तीसरे पक्ष की सेवाओं के साथ इंटिग्रेट करें. Cloud Functions की मदद से, छोटे-मोटे बदलावों के साथ बार-बार इस्तेमाल किए जाने वाले लंबे कोड को कम किया जा सकता है. इससे, अपने फ़ंक्शन में Firebase और Google Cloud का इस्तेमाल करना आसान हो जाता है.
रखरखाव की ज़रूरत नहीं कमांड लाइन से एक कमांड देकर, अपने JavaScript, TypeScript या Python कोड को हमारे सर्वर पर डिप्लॉय करें. इसके बाद, Firebase आपके उपयोगकर्ताओं के इस्तेमाल के पैटर्न के हिसाब से, कंप्यूटिंग रिसॉर्स को अपने-आप स्केल अप करता है. आपको क्रेडेंशियल, सर्वर कॉन्फ़िगरेशन, नए सर्वर उपलब्ध कराने या पुराने सर्वर बंद करने के बारे में चिंता करने की ज़रूरत नहीं होती.
आपके लॉजिक को निजी और सुरक्षित बनाए रखता है कई मामलों में, डेवलपर सर्वर पर ऐप्लिकेशन लॉजिक को कंट्रोल करना पसंद करते हैं, ताकि क्लाइंट साइड पर छेड़छाड़ से बचा जा सके. साथ ही, कभी-कभी उस कोड को रिवर्स इंजीनियर करने की अनुमति देना सही नहीं होता. Cloud Functions को क्लाइंट से पूरी तरह से अलग रखा जाता है, ताकि आपको यह पक्का हो सके कि यह निजी है और हमेशा वही काम करता है जो आपको चाहिए.

यह कैसे काम करता है?

फ़ंक्शन लिखने और उसे डिप्लॉय करने के बाद, Google के सर्वर तुरंत उस फ़ंक्शन को मैनेज करना शुरू कर देते हैं. फ़ंक्शन को सीधे तौर पर एचटीटीपी अनुरोध, Admin SDK या शेड्यूल किए गए जॉब से ट्रिगर किया जा सकता है. बैकग्राउंड फ़ंक्शन के मामले में, Google के सर्वर इवेंट सुनते हैं और ट्रिगर होने पर फ़ंक्शन को चलाते हैं.

लोड बढ़ने या घटने पर, Google आपके फ़ंक्शन को चलाने के लिए ज़रूरी वर्चुअल सर्वर इंस्टेंस की संख्या को तेज़ी से बढ़ाता है. हर फ़ंक्शन अलग से चलता है. यह अपने कॉन्फ़िगरेशन के साथ अपने एनवायरमेंट में चलता है.

बैकग्राउंड फ़ंक्शन की लाइफ़साइकल

  1. आपको नए फ़ंक्शन के लिए कोड लिखना होगा. इसके लिए, आपको इवेंट प्रोवाइडर (जैसे, Cloud Firestore) चुनना होगा और वे शर्तें तय करनी होंगी जिनके तहत फ़ंक्शन को लागू किया जाना चाहिए.
  2. फ़ंक्शन को डिप्लॉय करने पर:
    1. Firebase सीएलआई, फ़ंक्शन कोड का .zip संग्रह बनाता है. इसके बाद, इसे Cloud Storage बकेट में अपलोड किया जाता है. इस बकेट के नाम के आगे gcf-sources लगा होता है. इसके बाद, Cloud Functions आपके प्रोजेक्ट में Artifact Registry रिपॉज़िटरी बनाता है. इस रिपॉज़िटरी का नाम gcf-artifacts होता है.
    2. Cloud Build, फ़ंक्शन कोड को वापस लाता है और फ़ंक्शन सोर्स बनाता है. Cloud Build लॉग को Google Cloud console में देखा जा सकता है.
    3. बनाए गए फ़ंक्शन कोड की कंटेनर इमेज, आपके प्रोजेक्ट में मौजूद निजी Artifact Registry रिपॉज़िटरी (जिसका नाम gcf-artifacts है) में अपलोड की जाती है. इसके बाद, आपका नया फ़ंक्शन रोल आउट किया जाता है.
  3. जब इवेंट प्रोवाइडर, फ़ंक्शन की शर्तों से मैच करने वाला कोई इवेंट जनरेट करता है, तो कोड को ट्रिगर किया जाता है. इस फ़ंक्शन से एक सेवा खाता जुड़ा होता है. इसका इस्तेमाल, Firebase Admin SDK की मदद से Firebase की अन्य सेवाओं को ऐक्सेस करने के लिए किया जा सकता है.
  4. अगर फ़ंक्शन कई इवेंट को हैंडल करने में व्यस्त है, तो Google काम को तेज़ी से पूरा करने के लिए ज़्यादा इंस्टेंस बनाता है. अगर फ़ंक्शन का इस्तेमाल नहीं किया जा रहा है, तो इंस्टेंस हटा दिए जाते हैं.
  5. अपडेट किए गए कोड को डिप्लॉय करके फ़ंक्शन को अपडेट करने पर, पुराने वर्शन के इंस्टेंस और Artifact Registry में मौजूद बिल्ड आर्टफ़ैक्ट हटा दिए जाते हैं. इसके बाद, उनकी जगह नए इंस्टेंस ले लेते हैं.
  6. फ़ंक्शन मिटाने पर, सभी इंस्टेंस और ZIP फ़ॉर्मैट वाले आर्काइव मिट जाते हैं. साथ ही, Artifact Registry में मौजूद, उनसे जुड़े बिल्ड आर्टफ़ैक्ट भी मिट जाते हैं. फ़ंक्शन और इवेंट प्रोवाइडर के बीच का कनेक्शन हटा दिया जाता है.

बैकग्राउंड फ़ंक्शन के साथ इवेंट सुनने के अलावा, एचटीटीपी अनुरोध या क्लाइंट से कॉल करके फ़ंक्शन को सीधे तौर पर कॉल किया जा सकता है. Admin SDK की मदद से, फ़ंक्शन को किसी तय शेड्यूल पर ट्रिगर किया जा सकता है. इसके अलावा, टास्क फ़ंक्शन को कतार में लगाया जा सकता है.

लागू करने का पाथ

Cloud Functions सेट अप करें Firebase CLI इंस्टॉल करें और अपने Firebase प्रोजेक्ट में Cloud Functions को शुरू करें.
फ़ंक्शन लिखना Firebase सेवाओं, Google Cloud सेवाओं या इवेंट की अन्य सेवाओं से इवेंट मैनेज करने के लिए, JavaScript कोड, TypeScript कोड या Python कोड लिखें.
टेस्ट फ़ंक्शन अपने फ़ंक्शन की जांच करने के लिए, लोकल एम्युलेटर का इस्तेमाल करें.
डिप्लॉय और मॉनिटर करना अपने प्रोजेक्ट को इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर अपग्रेड करें. इसके बाद, Firebase सीएलआई का इस्तेमाल करके अपने फ़ंक्शन डिप्लॉय करें. इसके बाद, लॉग देखने और खोजने के लिए, Google Cloud console का इस्तेमाल किया जा सकता है.

अगले चरण