Cloud Functions का इस्तेमाल शुरू करने के लिए, इस ट्यूटोरियल को आज़माएं. इसमें, ज़रूरी सेटअप टास्क से शुरुआत की जाती है. साथ ही, दो संबंधित फ़ंक्शन बनाने, टेस्ट करने, और डिप्लॉय करने का तरीका बताया जाता है:
- "मैसेज जोड़ें" फ़ंक्शन, एक यूआरएल दिखाता है. यह यूआरएल, टेक्स्ट वैल्यू स्वीकार करता है और उसे लिखता है Cloud Firestoreमें.
- "कैपिटल लेटर में बदलें" फ़ंक्शन, Cloud Firestore में लिखने पर ट्रिगर होता है और टेक्स्ट को कैपिटल लेटर में बदलता है.
हमने इस सैंपल के लिए, Cloud Firestore और एचटीटीपी-ट्रिगर किए गए JavaScript फ़ंक्शन चुने हैं. इसकी एक वजह यह है कि Firebase Local Emulator Suite की मदद से, इन बैकग्राउंड ट्रिगर को अच्छी तरह से टेस्ट किया जा सकता है . यह टूलसेट Realtime Databaseके साथ भी काम करता है, PubSub, Auth, और एचटीटीपी कॉल किए जा सकने वाले ट्रिगर. बैकग्राउंड ट्रिगर के अन्य टाइप जैसे कि Remote Config, TestLab, और Analytics ट्रिगर को इस पेज पर बताए गए टूलसेट का इस्तेमाल करके इंटरैक्टिव तरीके से टेस्ट किया जा सकता है.
इस ट्यूटोरियल के इन सेक्शन में, सैंपल बनाने, टेस्ट करने, और डिप्लॉय करने के लिए ज़रूरी चरणों के बारे में बताया गया है. अगर आपको सिर्फ़ कोड चलाना है और उसकी जांच करनी है, तो पूरे सैंपल कोड की समीक्षा करें पर जाएं.
Firebase प्रोजेक्ट बनाना
Firebase या Cloud का नया उपयोगकर्ता
अगर आपने पहले कभी Firebase या Google Cloud का इस्तेमाल नहीं किया है, तो यह तरीका अपनाएं.
अगर आपको पूरी तरह से नया
Firebase प्रोजेक्ट (और उसका आधार Google Cloud प्रोजेक्ट) बनाना है, तो भी यह तरीका अपनाया जा सकता है.
- Firebase कंसोल में साइन इन करें.
- नया Firebase प्रोजेक्ट बनाने के लिए, बटन पर क्लिक करें.
-
टेक्स्ट फ़ील्ड में, प्रोजेक्ट का नाम डालें.
अगर आप Google Cloud संगठन का हिस्सा हैं, तो आपके पास यह चुनने का विकल्प होता है कि आपको अपना प्रोजेक्ट किस फ़ोल्डर में बनाना है.
- अगर आपसे पूछा जाए, तो Firebase की शर्तों की समीक्षा करें और उन्हें स्वीकार करें. इसके बाद, जारी रखें पर क्लिक करें.
- (ज़रूरी नहीं) Firebase कंसोल में एआई की मदद से सहायता पाने की सुविधा चालू करें. इसे "Firebase में Gemini" कहा जाता है. इससे आपको शुरुआत करने और डेवलपमेंट की प्रोसेस को बेहतर बनाने में मदद मिल सकती है.
-
(ज़रूरी नहीं) अपने प्रोजेक्ट के लिए Google Analytics सेट अप करें. इससे इन Firebase प्रॉडक्ट का इस्तेमाल करके बेहतर अनुभव मिलता है: Firebase A/B Testing, Cloud Messaging, Crashlytics, In-App Messaging, और Remote Config (इसमें निजीकरण की सुविधा भी शामिल है).
कोई मौजूदा Google Analytics खाता चुनें या नया खाता बनाएं. अगर नया खाता बनाया जाता है, तो अपनी Analytics रिपोर्टिंग की जगह चुनें, इसके बाद डेटा शेयर करने की सेटिंग और Google Analytics शर्तें स्वीकार करें अपने प्रोजेक्ट के लिए.
- प्रोजेक्ट बनाएं पर क्लिक करें.
Firebase, आपका प्रोजेक्ट बनाता है, कुछ शुरुआती संसाधन उपलब्ध कराता है, और ज़रूरी एपीआई चालू करता है. प्रोसेस पूरी होने के बाद, आपको Firebase प्रोजेक्ट के खास जानकारी वाले पेज पर ले जाया जाएगा.Firebase
मौजूदा क्लाउड प्रोजेक्ट
अगर आपको किसी मौजूदा Google Cloud प्रोजेक्ट के साथ Firebase का इस्तेमाल शुरू करना है, तो यह तरीका अपनाएं. किसी मौजूदा Google Cloud प्रोजेक्ट में "Firebase जोड़ने" के बारे में ज़्यादा जानें और इससे जुड़ी समस्याओं को हल करने का तरीका जानें.
- उस खाते से Firebase कंसोल में साइन इन करें जिससे आपको मौजूदा Google Cloud प्रोजेक्ट का ऐक्सेस मिलता है.
- नया Firebase प्रोजेक्ट बनाने के लिए, बटन पर क्लिक करें.
- पेज पर सबसे नीचे, Google Cloud प्रोजेक्ट में Firebase जोड़ें पर क्लिक करें.
- टेक्स्ट फ़ील्ड में, मौजूदा प्रोजेक्ट का प्रोजेक्ट का नाम डालना शुरू करें. इसके बाद, दिखाई गई सूची में से प्रोजेक्ट चुनें.
- प्रोजेक्ट खोलें पर क्लिक करें.
- अगर आपसे पूछा जाए, तो Firebase की शर्तों की समीक्षा करें और उन्हें स्वीकार करें. इसके बाद, जारी रखें पर क्लिक करें.
- (ज़रूरी नहीं) Firebase कंसोल में एआई की मदद से सहायता पाने की सुविधा चालू करें. इसे "Firebase में Gemini" कहा जाता है. इससे आपको शुरुआत करने और डेवलपमेंट की प्रोसेस को बेहतर बनाने में मदद मिल सकती है.
-
(ज़रूरी नहीं) अपने प्रोजेक्ट के लिए Google Analytics सेट अप करें. इससे इन Firebase प्रॉडक्ट का इस्तेमाल करके बेहतर अनुभव मिलता है: Firebase A/B Testing, Cloud Messaging, Crashlytics, In-App Messaging, और Remote Config (इसमें निजीकरण की सुविधा भी शामिल है).
कोई मौजूदा Google Analytics खाता चुनें या नया खाता बनाएं. अगर नया खाता बनाया जाता है, तो अपनी Analytics रिपोर्टिंग की जगह चुनें, इसके बाद डेटा शेयर करने की सेटिंग और Google Analytics शर्तें स्वीकार करें अपने प्रोजेक्ट के लिए.
- Firebase जोड़ें पर क्लिक करें.
Firebase आपके मौजूदा प्रोजेक्ट में Firebase जोड़ता है. प्रोसेस पूरी होने के बाद, आपको Firebase कंसोल में अपने Firebase प्रोजेक्ट के खास जानकारी वाले पेज पर ले जाया जाएगा.
Node.js और Firebase CLI सेट अप करना
फ़ंक्शन लिखने के लिए, आपको Node.js एनवायरमेंट की ज़रूरत होगी. साथ ही, Cloud Functions रनटाइम में फ़ंक्शन डिप्लॉय करने के लिए, आपको Firebase CLI की ज़रूरत होगी. Node.js और npm इंस्टॉल करने के लिए, Node Version Manager इस्तेमाल करने का सुझाव दिया जाता है.
Node.js और npm इंस्टॉल करने के बाद, अपनी पसंद के तरीके से Firebase CLI इंस्टॉल करें. npm के ज़रिए CLI इंस्टॉल करने के लिए, यह तरीका अपनाएं:
npm install -g firebase-tools
इससे, दुनिया भर में उपलब्ध firebase कमांड इंस्टॉल हो जाता है. अगर
यह कमांड काम नहीं करता है, तो आपको
npm की अनुमतियां बदलनी पड़ सकती हैं.
firebase-tools के सबसे नए वर्शन पर अपडेट करने के लिए, उसी कमांड को फिर से चलाएं.
अपने प्रोजेक्ट को शुरू करना
Firebase SDK टूल को Cloud Functions के लिए शुरू करने पर, एक खाली प्रोजेक्ट बनता है इसमें डिपेंडेंसी और कुछ बुनियादी सैंपल कोड शामिल होते हैं. साथ ही, फ़ंक्शन कंपोज़ करने के लिए, TypeScript या JavaScript में से कोई एक भाषा चुनी जाती है. इस ट्यूटोरियल के लिए, आपको Cloud Firestore को भी शुरू करना होगा.
अपने प्रोजेक्ट को शुरू करने के लिए:
firebase loginचलाएं, ताकि ब्राउज़र के ज़रिए लॉग इन किया जा सके और Firebase CLI को पुष्टि की जा सके.अपने Firebase प्रोजेक्ट की डायरेक्ट्री पर जाएं.
firebase init firestoreचलाएं. इस ट्यूटोरियल के लिए, Firestore के नियमों और इंडेक्स फ़ाइलों के बारे में पूछे जाने पर, डिफ़ॉल्ट वैल्यू स्वीकार की जा सकती हैं. अगर आपने इस प्रोजेक्ट में अब तक Cloud Firestore का इस्तेमाल नहीं किया है, तो आपको Firestore के लिए शुरुआती मोड और जगह भी चुननी होगी. इसके लिए, Get started with Cloud Firestore लेख पढ़ें.firebase init functionsचलाएं. CLI आपसे मौजूदा कोडबेस चुनने या नया कोडबेस शुरू करने और उसका नाम तय करने के लिए कहता है. शुरुआत में, डिफ़ॉल्ट जगह पर मौजूद एक कोडबेस काफ़ी होता है. बाद में, जैसे-जैसे आपका इंटिग्रेशन बढ़ता है, वैसे-वैसे आपको कोडबेस में फ़ंक्शन व्यवस्थित करने की ज़रूरत पड़ सकती है.CLI, भाषा के लिए सहायता पाने के ये विकल्प देता है:
- JavaScript
- Python
- TypeScript ज़्यादा जानकारी के लिए, TypeScript की मदद से फ़ंक्शन लिखना लेख पढ़ें.
इस ट्यूटोरियल के लिए, JavaScript को चुनें.
CLI, npm की मदद से डिपेंडेंसी इंस्टॉल करने का विकल्प देता है. अगर आपको डिपेंडेंसी को किसी दूसरे तरीके से मैनेज करना है, तो इस विकल्प को न चुनना सुरक्षित है. हालांकि, ऐसा करने पर आपको अपने फ़ंक्शन को एम्युलेट या डिप्लॉय करने से पहले,
npm installचलाना होगा.
इन कमांड के सफलतापूर्वक पूरे होने के बाद, आपके प्रोजेक्ट का स्ट्रक्चर ऐसा दिखेगा:
myproject
+- .firebaserc # Hidden file that helps you quickly switch between
| # projects with `firebase use`
|
+- firebase.json # Describes properties for your project
|
+- functions/ # Directory containing all your functions code
|
+- .eslintrc.json # Optional file containing rules for JavaScript linting.
|
+- package.json # npm package file describing your Cloud Functions code
|
+- index.js # main source file for your Cloud Functions code
|
+- node_modules/ # directory where your dependencies (declared in
# package.json) are installed
शुरुआत के दौरान बनाई गई package.json फ़ाइल में एक अहम
कुंजी होती है: "engines": {"node": "16"}. इससे, फ़ंक्शन लिखने और डिप्लॉय करने के लिए Node.js का वर्शन तय होता है. आपके पास, सहायता पाने वाले अन्य वर्शन चुनने का विकल्प होता है
.
ज़रूरी मॉड्यूल इंपोर्ट करना और कोई ऐप्लिकेशन शुरू करना
सेटअप टास्क पूरे करने के बाद, सोर्स डायरेक्ट्री खोली जा सकती है और यहां दिए गए सेक्शन में बताए गए तरीके से कोड जोड़ा जा सकता है. इस सैंपल के लिए, आपके प्रोजेक्ट को
Cloud Functions और Admin SDK मॉड्यूल इंपोर्ट करने होंगे.require अपनी index.js फ़ाइल में, इस तरह की लाइनें जोड़ें:
// The Cloud Functions for Firebase SDK to create Cloud Functions and set up triggers. const functions = require('firebase-functions/v1'); // The Firebase Admin SDK to access Firestore. const admin = require("firebase-admin"); admin.initializeApp();
इन लाइनों से firebase-functions और firebase-admin मॉड्यूल लोड होते हैं. साथ ही,
एक admin ऐप्लिकेशन इंस्टेंस शुरू होता है. इसकी मदद से, Cloud Firestore में बदलाव किए जा सकते हैं.
जहां भी Admin SDK की सुविधा उपलब्ध है, वहां Cloud Functions का इस्तेमाल करके Firebase को इंटिग्रेट करने का एक बेहतर तरीका मिलता है. यह सुविधा, FCM, Authentication, और Firebase Realtime Database के लिए उपलब्ध है.
जब अपने प्रोजेक्ट को शुरू किया जाता है, तो Firebase CLI, Cloud Functions के लिए Firebase और Firebase SDK के Node मॉड्यूल अपने-आप इंस्टॉल कर देता है. अपने प्रोजेक्ट में तीसरे पक्ष की लाइब्रेरी जोड़ने के लिए, package.json में बदलाव किया जा सकता है और npm install चलाया जा सकता है.
ज़्यादा जानकारी के लिए, डिपेंडेंसी मैनेज करना लेख पढ़ें.
addMessage() फ़ंक्शन जोड़ना
addMessage() फ़ंक्शन के लिए, index.js में ये लाइनें जोड़ें:
// Take the text parameter passed to this HTTP endpoint and insert it into // Firestore under the path /messages/:documentId/original exports.addMessage = functions.https.onRequest(async (req, res) => { // Grab the text parameter. const original = req.query.text; // Push the new message into Firestore using the Firebase Admin SDK. const writeResult = await admin .firestore() .collection("messages") .add({ original: original }); // Send back a message that we've successfully written the message res.json({ result: `Message with ID: ${writeResult.id} added.` }); });
addMessage() फ़ंक्शन, एक एचटीटीपी एंडपॉइंट है. एंडपॉइंट के किसी भी अनुरोध
के नतीजे के तौर पर, ExpressJS-स्टाइल के
अनुरोध और जवाब
वाले ऑब्जेक्ट,
onRequest() कॉलबैक को पास किए जाते हैं.
एचटीटीपी फ़ंक्शन, सिंक में काम करते हैं. ये
कॉल किए जा सकने वाले फ़ंक्शनकी तरह होते हैं. इसलिए, आपको जल्द से जल्द जवाब भेजना चाहिए और Cloud Firestoreका इस्तेमाल करके काम को टालना चाहिए. addMessage() एचटीटीपी फ़ंक्शन, एचटीटीपी एंडपॉइंट को टेक्स्ट वैल्यू पास करता है और उसे /messages/:documentId/original पाथ के तहत डेटाबेस में इंसर्ट करता है.
makeUppercase() फ़ंक्शन जोड़ना
makeUppercase() फ़ंक्शन के लिए, index.js में ये लाइनें जोड़ें:
// Listens for new messages added to /messages/:documentId/original and creates an // uppercase version of the message to /messages/:documentId/uppercase exports.makeUppercase = functions.firestore .document("/messages/{documentId}") .onCreate((snap, context) => { // Grab the current value of what was written to Firestore. const original = snap.data().original; // Access the parameter `{documentId}` with `context.params` functions.logger.log("Uppercasing", context.params.documentId, original); const uppercase = original.toUpperCase(); // You must return a Promise when performing asynchronous tasks inside a Functions such as // writing to Firestore. // Setting an 'uppercase' field in Firestore document returns a Promise. return snap.ref.set({ uppercase }, { merge: true }); });
makeUppercase() फ़ंक्शन तब काम करता है जब Cloud Firestore में लिखा जाता है. ref.set फ़ंक्शन, सुनने के लिए दस्तावेज़ तय करता है. परफ़ॉर्मेंस की वजहों से, आपको ज़्यादा से ज़्यादा सटीक जानकारी देनी चाहिए.
ब्रेसेस—उदाहरण के लिए, {documentId}—"पैरामीटर" को घेरते हैं. ये वाइल्डकार्ड होते हैं, जो कॉलबैक में अपने मैच किए गए डेटा को दिखाते हैं.
Cloud Firestore नया मैसेज जोड़े जाने पर,
onCreate()
कॉलबैक को ट्रिगर करता है.
इवेंट-ड्रिवन फ़ंक्शन, जैसे कि Cloud Firestore इवेंट,
एसिंक्रोनस होते हैं. कॉलबैक फ़ंक्शन को या तो एक null, कोई ऑब्जेक्ट,
या कोई प्रॉमिस दिखाना चाहिए.
अगर कुछ भी नहीं दिखाया जाता है, तो फ़ंक्शन का टाइम आउट हो जाता है. इससे गड़बड़ी का सिग्नल मिलता है और इसे फिर से आज़माया जाता है. सिंक, एसिंक, और प्रॉमिस देखें.
अपने फ़ंक्शन के एक्ज़ीक्यूशन को एम्युलेट करना
Firebase Local Emulator Suite की मदद से, Firebase प्रोजेक्ट में डिप्लॉय करने के बजाय, अपने कंप्यूटर पर ऐप्लिकेशन बनाए और टेस्ट किए जा सकते हैं. डेवलपमेंट के दौरान, स्थानीय तौर पर टेस्टिंग करने का सुझाव दिया जाता है. इसकी एक वजह यह है कि इससे कोडिंग की गड़बड़ियों से होने वाले जोखिम को कम किया जा सकता है. इन गड़बड़ियों की वजह से, प्रोडक्शन एनवायरमेंट में लागत लग सकती है. उदाहरण के लिए, इनफ़ाइनाइट लूप.
अपने फ़ंक्शन को एम्युलेट करने के लिए:
firebase emulators:startचलाएं और Emulator Suite UI के यूआरएल के लिए आउटपुट देखें. यह डिफ़ॉल्ट रूप से localhost:4000 पर होता है, लेकिन आपके कंप्यूटर पर इसे किसी दूसरे पोर्ट पर होस्ट किया जा सकता है. अपने ब्राउज़र में वह यूआरएल डालें ताकि Emulator Suite UI खुल सके.addMessage()एचटीटीपी फ़ंक्शन के यूआरएल के लिए,firebase emulators:startकमांड का आउटपुट देखें. यहhttp://localhost:5001/MY_PROJECT/us-central1/addMessageजैसा दिखेगा. हालांकि:MY_PROJECTकी जगह आपका प्रोजेक्ट आईडी होगा.- आपके कंप्यूटर पर पोर्ट अलग हो सकता है.
फ़ंक्शन के यूआरएल के आखिर में, क्वेरी स्ट्रिंग
?text=uppercasemeजोड़ें. यह कुछ इस तरह दिखना चाहिए:http://localhost:5001/MY_PROJECT/us-central1/addMessage?text=uppercaseme. ज़रूरी नहीं कि "uppercaseme" मैसेज को किसी कस्टम मैसेज में बदला जाए.अपने ब्राउज़र में यूआरएल को नए टैब में खोलकर, एक नया मैसेज बनाएं.
Emulator Suite UI में, फ़ंक्शन के असर देखें:
लॉग टैब में, आपको नए लॉग दिखने चाहिए. इनसे पता चलता है कि
addMessage()औरmakeUppercase()फ़ंक्शन चले हैं:i functions: Beginning execution of "addMessage"i functions: Beginning execution of "makeUppercase"Firestore टैब में, आपको एक ऐसा दस्तावेज़ दिखना चाहिए जिसमें आपका ओरिजनल मैसेज और मैसेज का कैपिटल लेटर वाला वर्शन शामिल हो. अगर ओरिजनल मैसेज "uppercaseme" था, तो आपको "UPPERCASEME" दिखेगा.
फ़ंक्शन को प्रोडक्शन एनवायरमेंट में डिप्लॉय करना
एम्युलेटर में आपके फ़ंक्शन के सही तरीके से काम करने के बाद, उन्हें प्रोडक्शन एनवायरमेंट में डिप्लॉय, टेस्ट, और चलाया जा सकता है. ध्यान रखें कि Node.js 14 रनटाइम एनवायरमेंट में डिप्लॉय करने के लिए, आपका प्रोजेक्ट Blaze प्राइसिंग प्लानपर होना चाहिए. कीमत देखें Cloud Functions.
ट्यूटोरियल पूरा करने के लिए, अपने फ़ंक्शन डिप्लॉय करें. इसके बाद, makeUppercase() को ट्रिगर करने के लिए, addMessage() को एक्ज़ीक्यूट करें.
अपने फ़ंक्शन डिप्लॉय करने के लिए, यह कमांड चलाएं:
firebase deploy --only functions
यह कमांड चलाने के बाद, Firebase CLI, एचटीटीपी फ़ंक्शन एंडपॉइंट के लिए यूआरएल आउटपुट करता है. आपके टर्मिनल में, आपको इस तरह की लाइन दिखनी चाहिए:
Function URL (addMessage): https://us-central1-MY_PROJECT.cloudfunctions.net/addMessageयूआरएल में आपका प्रोजेक्ट आईडी और एचटीटीपी फ़ंक्शन के लिए एक इलाका शामिल होता है. हालांकि, अभी आपको इसकी चिंता करने की ज़रूरत नहीं है. कुछ प्रोडक्शन एचटीटीपी फ़ंक्शन में, नेटवर्क की लेटेन्सी कम करने के लिए, जगह की जानकारी दी जानी चाहिए.
अगर आपको ऐक्सेस से जुड़ी गड़बड़ियां मिलती हैं, जैसे कि "प्रोजेक्ट को ऐक्सेस करने की अनुमति नहीं दी जा सकती", तो अपने प्रोजेक्ट के एलियासिंग की जांच करें.
CLI से मिले
addMessage()यूआरएल का इस्तेमाल करके, टेक्स्ट क्वेरी पैरामीटर जोड़ें, और उसे किसी ब्राउज़र में खोलें:https://us-central1-MY_PROJECT.cloudfunctions.net/addMessage?text=uppercasemetooफ़ंक्शन एक्ज़ीक्यूट होता है और ब्राउज़र को डेटाबेस की उस जगह पर रीडायरेक्ट करता है जहां टेक्स्ट स्ट्रिंग सेव की जाती है. यह जगह Firebase कंसोल में होती है. इस राइट इवेंट से
makeUppercase()ट्रिगर होता है. यह स्ट्रिंग का कैपिटल लेटर वाला वर्शन लिखता है.
फ़ंक्शन डिप्लॉय और एक्ज़ीक्यूट करने के बाद, आप Google Cloud कंसोल में लॉग देख सकते हैं. अगर आपको फ़ंक्शन मिटाने हैं डेवलपमेंट या प्रोडक्शन में, तो Firebase CLI का इस्तेमाल करें.
प्रोडक्शन में, फ़ंक्शन की परफ़ॉर्मेंस को ऑप्टिमाइज़ किया जा सकता है और लागत को कंट्रोल किया जा सकता है. इसके लिए, रन करने के लिए इंस्टेंस की कम से कम और ज़्यादा से ज़्यादा संख्या सेट की जा सकती है. इन रनटाइम विकल्पों के बारे में ज़्यादा जानने के लिए, स्केलिंग के व्यवहार को कंट्रोल करना लेख पढ़ें.
.पूरे सैंपल कोड की समीक्षा करना
यहां functions/index.js दिया गया है. इसमें addMessage() और makeUppercase() फ़ंक्शन शामिल हैं. इन फ़ंक्शन की मदद से, एचटीटीपी एंडपॉइंट को एक
पैरामीटर पास किया जा सकता है.
यह पैरामीटर, Cloud Firestore में एक वैल्यू लिखता है. इसके बाद, स्ट्रिंग में मौजूद सभी वर्णों को कैपिटल लेटर में बदलकर,
उसे बदल देता है.
// The Cloud Functions for Firebase SDK to create Cloud Functions and set up triggers. const functions = require('firebase-functions/v1'); // The Firebase Admin SDK to access Firestore. const admin = require("firebase-admin"); admin.initializeApp(); // Take the text parameter passed to this HTTP endpoint and insert it into // Firestore under the path /messages/:documentId/original exports.addMessage = functions.https.onRequest(async (req, res) => { // Grab the text parameter. const original = req.query.text; // Push the new message into Firestore using the Firebase Admin SDK. const writeResult = await admin .firestore() .collection("messages") .add({ original: original }); // Send back a message that we've successfully written the message res.json({ result: `Message with ID: ${writeResult.id} added.` }); }); // Listens for new messages added to /messages/:documentId/original and creates an // uppercase version of the message to /messages/:documentId/uppercase exports.makeUppercase = functions.firestore .document("/messages/{documentId}") .onCreate((snap, context) => { // Grab the current value of what was written to Firestore. const original = snap.data().original; // Access the parameter `{documentId}` with `context.params` functions.logger.log("Uppercasing", context.params.documentId, original); const uppercase = original.toUpperCase(); // You must return a Promise when performing asynchronous tasks inside a Functions such as // writing to Firestore. // Setting an 'uppercase' field in Firestore document returns a Promise. return snap.ref.set({ uppercase }, { merge: true }); });
अगले चरण
इस दस्तावेज़ में, फ़ंक्शन मैनेज करने के तरीके के साथ-साथ, Cloud Functions के साथ काम करने वाले सभी तरह के इवेंट को मैनेज करने के तरीके के बारे में ज़्यादा जाना जा सकता है.Cloud Functions
Cloud Functions के बारे में ज़्यादा जानने के लिए, आप यह भी कर सकते हैं:
- इस्तेमाल के उदाहरणों के बारे में पढ़ें Cloud Functions.
- Cloud Functions कोडलैब आज़माएं.
- GitHub पर कोड के सैंपल की समीक्षा करें और उन्हें चलाएं