Cloud Functions की मदद से क्या-क्या किया जा सकता है?

Cloud Functions की मदद से, डेवलपर Firebase और Google Cloud इवेंट ऐक्सेस कर सकते हैं. साथ ही, उन्हें इन इवेंट के जवाब में कोड चलाने के लिए, ज़रूरत के हिसाब से कंप्यूटिंग पावर मिलती है. Firebase ऐप्लिकेशन, अपनी ज़रूरतों के हिसाब से Cloud Functions का इस्तेमाल अलग-अलग तरीकों से कर सकते हैं. हालांकि, आम तौर पर इनका इस्तेमाल इन कामों के लिए किया जाता है:

अपनी दिलचस्पी के हिसाब से, हर कैटगरी के इस्तेमाल के उदाहरण और तरीके देखें. इसके बाद, हमारे शुरू करें ट्यूटोरियल पर जाएं . इसके अलावा, खास तरीके बताने वाली गाइड देखें जो पुष्टि करने वाले इवेंट, Analytics के इवेंट वगैरह के लिए हैं.

उपयोगकर्ताओं को दिलचस्प जानकारी मिलने पर सूचनाएं भेजना

डेवलपर, Cloud Functions का इस्तेमाल करके, उपयोगकर्ताओं को किसी ऐप्लिकेशन के बारे में काम की जानकारी देकर उन्हें जोड़े रख सकते हैं. उदाहरण के लिए, ऐसे ऐप्लिकेशन के बारे में सोचें जिसमें उपयोगकर्ता एक-दूसरे की गतिविधियों को फ़ॉलो कर सकते हैं. जब भी कोई उपयोगकर्ता, किसी दूसरे उपयोगकर्ता को फ़ॉलो करने के लिए खुद को जोड़ता है, तो Realtime Database में एक एंट्री होती है. इसके बाद, इस एंट्री वाले इवेंट से एक फ़ंक्शन ट्रिगर हो सकता है. इससे Firebase Cloud Messaging (FCM) की सूचनाएं बनाई जा सकती हैं. इससे सही उपयोगकर्ताओं को यह पता चलता है कि उन्हें नए फ़ॉलोअर मिले हैं.

नीचे दिए गए डायग्राम में, ऐप्लिकेशन के फ़्लो के बारे में बताया गया है

  1. यह फ़ंक्शन, Realtime Database पाथ पर एंट्री होने पर ट्रिगर होता है जहां फ़ॉलोअर की जानकारी सेव की जाती है.
  2. यह फ़ंक्शन, FCM के ज़रिए भेजने के लिए एक मैसेज बनाता है.
  3. FCM, सूचना वाला मैसेज उपयोगकर्ता के डिवाइस पर भेजता है.

काम करने वाला कोड देखने के लिए, GitHub में मौजूद सैंपल कोड देखें:

सूचनाएं भेजने के अन्य दिलचस्प उदाहरण

  • न्यूज़लेटर की सदस्यता लेने वाले उपयोगकर्ताओं को पुष्टि के ईमेल भेजना.
  • साइनअप पूरा करने पर, उपयोगकर्ता को वेलकम ईमेल भेजना.
  • नया खाता बनाने पर, उपयोगकर्ता को पुष्टि करने वाला एसएमएस भेजना.

डेटाबेस को साफ़ करना और उसका रखरखाव करना

Cloud Functions डेटाबेस इवेंट हैंडलिंग की मदद से, उपयोगकर्ता के व्यवहार के हिसाब से Realtime Database या Cloud Firestore में बदलाव किया जा सकता है. इससे सिस्टम को अपनी ज़रूरत के हिसाब से बनाए रखा जा सकता है. उदाहरण के लिए, एंट्री वाले इवेंट को मॉनिटर किया जा सकता है और उपयोगकर्ताओं के मैसेज में मौजूद कुछ स्ट्रिंग का फ़ॉर्मैट बदला जा सकता है. जैसे, सभी स्ट्रिंग को अंग्रेज़ी के बड़े अक्षरों में बदला जा सकता है. यह इस तरह काम कर सकता है:

नीचे बताया गया ऐप्लिकेशन फ़्लो दिखाने वाला डायग्राम

  1. डेटाबेस के इवेंट को हैंडल करने वाला फ़ंक्शन, किसी खास पाथ पर एंट्री वाले इवेंट को सुनता है. साथ ही, इवेंट का डेटा वापस लाता है. इसमें मैसेज का टेक्स्ट शामिल होता है.
  2. यह फ़ंक्शन, टेक्स्ट को प्रोसेस करके स्ट्रिंग को अंग्रेज़ी के बड़े अक्षरों में बदलता है.
  3. यह फ़ंक्शन, अपडेट किए गए टेक्स्ट को वापस डेटाबेस में लिखता है.

काम करने वाला कोड देखने के लिए, GitHub में मौजूद सैंपल कोड देखें:

डेटाबेस को साफ़ करने और उसका रखरखाव करने के अन्य उदाहरण

  • Realtime Database से, मिटाए गए उपयोगकर्ता का कॉन्टेंट हटाना.
  • Firebase डेटाबेस में चाइल्ड नोड की संख्या सीमित करना.
  • Realtime Database सूची में मौजूद एलिमेंट की संख्या ट्रैक करना.
  • Realtime Database से Google Cloud BigQuery में डेटा कॉपी करना.
  • टेक्स्ट को इमोजी में बदलना.
  • डेटाबेस रिकॉर्ड के लिए, कंप्यूट किया गया मेटाडेटा मैनेज करना.

ज़्यादा संसाधन इस्तेमाल करने वाले टास्क को अपने ऐप्लिकेशन के बजाय, क्लाउड में चलाना

आप Cloud Functions की मदद से, Google Cloud पर ज़्यादा संसाधन इस्तेमाल करने वाले काम (ज़्यादा सीपीयू या नेटवर्किंग) को ऑफ़लोड किया जा सकता है. इससे, उपयोगकर्ता के डिवाइस पर काम करने के बजाय, आपके ऐप्लिकेशन की परफ़ॉर्मेंस बेहतर होती है. उदाहरण के लिए, Cloud Storage पर इमेज अपलोड होने पर, एक फ़ंक्शन लिखा जा सकता है. इससे, इमेज को उस इंस्टेंस पर डाउनलोड किया जा सकता है जो फ़ंक्शन चला रहा है. इसके बाद, उसमें बदलाव किया जा सकता है और उसे वापस Cloud Storage पर अपलोड किया जा सकता है. आपके बदलावों में, sharp या Pillow जैसे टूल की मदद से, इमेज का साइज़ बदलना, उन्हें काटना या उनका फ़ॉर्मैट बदलना शामिल हो सकता है.

नीचे दिए गए डायग्राम में, ऐप्लिकेशन के फ़्लो के बारे में बताया गया है

  1. Cloud Storage पर इमेज फ़ाइल अपलोड होने पर, एक फ़ंक्शन ट्रिगर होता है.Cloud Storage
  2. यह फ़ंक्शन, इमेज डाउनलोड करता है और उसका थंबनेल वर्शन बनाता है.
  3. यह फ़ंक्शन, थंबनेल की जगह की जानकारी डेटाबेस में लिखता है, ताकि क्लाइंट ऐप्लिकेशन उसे ढूंढकर इस्तेमाल कर सके.
  4. यह फ़ंक्शन, थंबनेल को Cloud Storage पर नई जगह पर वापस अपलोड करता है.
  5. ऐप्लिकेशन, थंबनेल का लिंक डाउनलोड करता है.

इमेज प्रोसेसिंग के उदाहरण के बारे में जानने के लिए, इवेंट को हैंडल करने की गाइड देखें.Cloud Storage

Firebase क्लाउड में बैच जॉब के अन्य उदाहरण

  • Node.js | Python का इस्तेमाल करके, समय-समय पर इस्तेमाल न किए गए Firebase खातों को मिटाना.
  • Node.js | Python का इस्तेमाल करके, अपलोड की गई इमेज का अपने-आप बैकअप लेना.
  • उपयोगकर्ताओं को बल्क में ईमेल भेजना.
  • समय-समय पर डेटा को इकट्ठा करना और उसकी खास जानकारी देना.
  • पूरे न किए गए काम की सूची को प्रोसेस करना.

तीसरे पक्ष की सेवाओं और एपीआई के साथ इंटिग्रेट करना

Cloud Functions वेब एपीआई को कॉल और ऐक्सेस करके, आपके ऐप्लिकेशन को अन्य सेवाओं के साथ बेहतर तरीके से काम करने में मदद कर सकता है. उदाहरण के लिए, डेवलपमेंट में सहयोग के लिए इस्तेमाल किया जाने वाला कोई ऐप्लिकेशन, वर्कग्रुप के चैट रूम में GitHub कमिट पोस्ट कर सकता है.

नीचे दिए गए डायग्राम में, ऐप्लिकेशन के फ़्लो के बारे में बताया गया है

  1. कोई उपयोगकर्ता, GitHub रेपो में कमिट पुश करता है.
  2. GitHub वेबहुक एपीआई के ज़रिए, एक एचटीटीपीएस फ़ंक्शन ट्रिगर होता है.
  3. यह फ़ंक्शन, टीम के Slack चैनल पर कमिट की सूचना भेजता है.

तीसरे पक्ष की सेवाओं और एपीआई के साथ इंटिग्रेट करने के अन्य तरीके

  • अपलोड की गई इमेज का विश्लेषण करने और उन्हें टैग करने के लिए, Google Cloud Vision API का इस्तेमाल करना.
  • Google Translate का इस्तेमाल करके, मैसेज का अनुवाद करना.
  • उपयोगकर्ताओं को साइन इन करने के लिए, कस्टम ऑथ का इस्तेमाल करना.
  • एंट्री होने पर, वेबहुक को अनुरोध भेजना.Realtime Database
  • Realtime Database एलिमेंट पर, पूरे टेक्स्ट में खोजने की सुविधा चालू करना.
  • उपयोगकर्ताओं से पेमेंट प्रोसेस करना.
  • फ़ोन कॉल और एसएमएस मैसेज के लिए, अपने-आप जवाब देने की सुविधा बनाना.
  • Google Assistant का इस्तेमाल करके, चैटबॉट बनाना.