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 क्लाउड में बैच जॉब के अन्य उदाहरण

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

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

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

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

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

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