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 पर अपलोड किया जा सकता है.Cloud FunctionsCloud StorageCloud Storage आपके बदलावों में, sharp या Pillow जैसे टूल की मदद से इमेज का साइज़ बदलना, उसे काटना या उसका फ़ॉर्मैट बदलना शामिल हो सकता है.

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

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

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

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

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

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

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

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

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

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

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