Cloud Functions for Firebase

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

क्या Google Cloud में Cloud Functions का इस्तेमाल पहले से किया जा रहा है? Firebase के काम करने के तरीके के बारे में ज़्यादा जानें.

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण