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

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

  1. जब 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 की मदद से चैटबॉट बनाना.