Cloud Functions का इस्तेमाल शुरू करने के लिए, इस ट्यूटोरियल को आज़माएं. इसमें, ज़रूरी सेटअप टास्क से शुरुआत की गई है. साथ ही, दो संबंधित फ़ंक्शन बनाने, टेस्ट करने, और डिप्लॉय करने का तरीका बताया गया है:
- "मैसेज जोड़ें" फ़ंक्शन, एक यूआरएल दिखाता है. यह यूआरएल, टेक्स्ट वैल्यू स्वीकार करता है और उसे लिखता है Cloud Firestoreमें.
- "कैपिटल लेटर में बदलें" फ़ंक्शन, Cloud Firestore में लिखने पर ट्रिगर होता है और टेक्स्ट को कैपिटल लेटर में बदलता है.
यहां फ़ंक्शन वाला पूरा सैंपल कोड दिया गया है:
Node.js
// The Cloud Functions for Firebase SDK to create Cloud Functions and triggers.
const {logger} = require("firebase-functions");
const {onRequest} = require("firebase-functions/https");
const {onDocumentCreated} = require("firebase-functions/firestore");
// The Firebase Admin SDK to access Firestore.
const {initializeApp} = require("firebase-admin/app");
const {getFirestore} = require("firebase-admin/firestore");
initializeApp();
// Take the text parameter passed to this HTTP endpoint and insert it into
// Firestore under the path /messages/:documentId/original
exports.addmessage = 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 getFirestore()
.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 saves an uppercased version of the message
// to /messages/:documentId/uppercase
exports.makeuppercase = onDocumentCreated("/messages/{documentId}", (event) => {
// Grab the current value of what was written to Firestore.
const original = event.data.data().original;
// Access the parameter `{documentId}` with `event.params`
logger.log("Uppercasing", event.params.documentId, original);
const uppercase = original.toUpperCase();
// You must return a Promise when performing
// asynchronous tasks inside a function
// such as writing to Firestore.
// Setting an 'uppercase' field in Firestore document returns a Promise.
return event.data.ref.set({uppercase}, {merge: true});
});
Python
# The Cloud Functions for Firebase SDK to create Cloud Functions and set up triggers.
from firebase_functions import firestore_fn, https_fn
# The Firebase Admin SDK to access Cloud Firestore.
from firebase_admin import initialize_app, firestore
import google.cloud.firestore
app = initialize_app()
@https_fn.on_request()
def addmessage(req: https_fn.Request) -> https_fn.Response:
"""Take the text parameter passed to this HTTP endpoint and insert it into
a new document in the messages collection."""
# Grab the text parameter.
original = req.args.get("text")
if original is None:
return https_fn.Response("No text parameter provided", status=400)
firestore_client: google.cloud.firestore.Client = firestore.client()
# Push the new message into Cloud Firestore using the Firebase Admin SDK.
_, doc_ref = firestore_client.collection("messages").add({"original": original})
# Send back a message that we've successfully written the message
return https_fn.Response(f"Message with ID {doc_ref.id} added.")
@firestore_fn.on_document_created(document="messages/{pushId}")
def makeuppercase(event: firestore_fn.Event[firestore_fn.DocumentSnapshot | None]) -> None:
"""Listens for new documents to be added to /messages. If the document has
an "original" field, creates an "uppercase" field containg the contents of
"original" in upper case."""
# Get the value of "original" if it exists.
if event.data is None:
return
try:
original = event.data.get("original")
except KeyError:
# No "original" field, so do nothing.
return
# Set the "uppercase" field.
print(f"Uppercasing {event.params['pushId']}: {original}")
upper = original.upper()
event.data.reference.update({"uppercase": upper})
इस ट्यूटोरियल के बारे में जानकारी
हमने इस सैंपल के लिए Cloud Firestore और एचटीटीपी ट्रिगर वाले फ़ंक्शन चुने हैं. इसकी एक वजह यह है कि Firebase Local Emulator Suite की मदद से, बैकग्राउंड ट्रिगर को अच्छी तरह टेस्ट किया जा सकता है Firebase Local Emulator Suite. यह टूलसेट Realtime Database, Cloud Storage और PubSub, Auth, और एचटीटीपी कॉल किए जा सकने वाले ट्रिगर के साथ भी काम करता है. बैकग्राउंड ट्रिगर के अन्य टाइप जैसे कि Remote Config और TestLab ट्रिगर को इस पेज पर बताए गए टूलसेट का इस्तेमाल करके, इंटरैक्टिव तरीके से टेस्ट किया जा सकता है.
इस ट्यूटोरियल के इन सेक्शन में, सैंपल को बनाने, टेस्ट करने, और डिप्लॉय करने के लिए ज़रूरी चरणों के बारे में बताया गया है.
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
मौजूदा Cloud प्रोजेक्ट
अगर आपको किसी मौजूदा 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 प्रोजेक्ट के खास जानकारी वाले पेज पर ले जाया जाएगा.
अपना एनवायरमेंट और Firebase CLI सेट अप करना
Node.js
फ़ंक्शन लिखने के लिए, आपको 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 के सबसे नए वर्शन पर अपडेट करने के लिए, इसी कमांड को फिर से चलाएं.
Python
फ़ंक्शन लिखने के लिए, आपको Python एनवायरमेंट
की ज़रूरत होगी. साथ ही, Cloud Functions रनटाइम में फ़ंक्शन डिप्लॉय करने के लिए, आपको Firebase CLI की ज़रूरत होगी. हमारा सुझाव है कि डिपेंडेंसी को अलग करने के लिए, venv का इस्तेमाल करें. Python के वर्शन 3.10 से 3.13 तक काम करते हैं.
इनमें से 3.13, डिफ़ॉल्ट रनटाइम है.
Python इंस्टॉल करने के बाद, अपनी पसंद के तरीके से Firebase CLI इंस्टॉल करें.
अपने प्रोजेक्ट को शुरू करना
Cloud Functions के लिए Firebase SDK टूल को शुरू करने पर, एक खाली प्रोजेक्ट बनता है इसमें डिपेंडेंसी और सैंपल कोड शामिल होता है. अगर Node.js का इस्तेमाल किया जा रहा है, तो फ़ंक्शन कंपोज़ करने के लिए, 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
- TypeScript
- Python
इस ट्यूटोरियल के लिए, JavaScript या Python चुनें. TypeScript में ऑथरिंग करने के लिए, TypeScript की मदद से फ़ंक्शन लिखना लेख पढ़ें.
CLI, डिपेंडेंसी इंस्टॉल करने का विकल्प देता है. अगर आपको डिपेंडेंसी को किसी दूसरे तरीके से मैनेज करना है, तो इस विकल्प को न चुनना सुरक्षित है.
इन कमांड के सफलतापूर्वक पूरे होने के बाद, आपके प्रोजेक्ट का स्ट्रक्चर ऐसा दिखेगा:
Node.js
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
Node.js के लिए, शुरू करने के दौरान बनाई गई package.json फ़ाइल में एक अहम
कुंजी होती है: "engines": {"node": "18"}. इससे, फ़ंक्शन लिखने और डिप्लॉय करने के लिए, Node.js का वर्शन तय होता है. आपके पास अन्य काम करने वाले वर्शन चुनने का विकल्प होता है
.
Python
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
|
+- main.py # Main source file for your Cloud Functions code
|
+- requirements.txt # List of the project's modules and packages
|
+- venv/ # Directory where your dependencies are installed
ज़रूरी मॉड्यूल इंपोर्ट करना और कोई ऐप्लिकेशन शुरू करना
सेटअप टास्क पूरे करने के बाद, सोर्स डायरेक्ट्री खोली जा सकती है और कोड जोड़ा जा सकता है. इसके लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं. इस सैंपल के लिए, आपके प्रोजेक्ट को Cloud Functions और Admin SDK मॉड्यूल इंपोर्ट करने होंगे. अपनी सोर्स फ़ाइल में, इस तरह की लाइनें जोड़ें:
Node.js
// The Cloud Functions for Firebase SDK to create Cloud Functions and triggers.
const {logger} = require("firebase-functions");
const {onRequest} = require("firebase-functions/https");
const {onDocumentCreated} = require("firebase-functions/firestore");
// The Firebase Admin SDK to access Firestore.
const {initializeApp} = require("firebase-admin/app");
const {getFirestore} = require("firebase-admin/firestore");
initializeApp();
Python
# The Cloud Functions for Firebase SDK to create Cloud Functions and set up triggers.
from firebase_functions import firestore_fn, https_fn
# The Firebase Admin SDK to access Cloud Firestore.
from firebase_admin import initialize_app, firestore
import google.cloud.firestore
app = initialize_app()
इन लाइनों से, ज़रूरी मॉड्यूल लोड होते हैं और
एक admin ऐप्लिकेशन इंस्टेंस शुरू होता है. इसकी मदद से, Cloud Firestore में बदलाव किए जा सकते हैं.
जहां भी Admin SDK की सुविधा उपलब्ध है, वहां Cloud Functions का इस्तेमाल करके Firebase को इंटिग्रेट करने का एक बेहतर तरीका मिलता है. यह सुविधा, FCM, Authentication, और Firebase Realtime Database के लिए उपलब्ध है.
जब Firebase CLI, आपके प्रोजेक्ट को शुरू करता है, तब वह Firebase Admin SDK और Cloud Functions मॉड्यूल के लिए Firebase SDK टूल को अपने-आप इंस्टॉल कर देता है. अपने प्रोजेक्ट में तीसरे पक्ष की लाइब्रेरी जोड़ने के बारे में ज़्यादा जानने के लिए, देखें डिपेंडेंसी मैनेज करना.
"मैसेज जोड़ें" फ़ंक्शन जोड़ना
"मैसेज जोड़ें" फ़ंक्शन के लिए, अपनी सोर्स फ़ाइल में ये लाइनें जोड़ें:
Node.js
// Take the text parameter passed to this HTTP endpoint and insert it into
// Firestore under the path /messages/:documentId/original
exports.addmessage = 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 getFirestore()
.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.`});
});
Python
@https_fn.on_request()
def addmessage(req: https_fn.Request) -> https_fn.Response:
"""Take the text parameter passed to this HTTP endpoint and insert it into
a new document in the messages collection."""
# Grab the text parameter.
original = req.args.get("text")
if original is None:
return https_fn.Response("No text parameter provided", status=400)
firestore_client: google.cloud.firestore.Client = firestore.client()
# Push the new message into Cloud Firestore using the Firebase Admin SDK.
_, doc_ref = firestore_client.collection("messages").add({"original": original})
# Send back a message that we've successfully written the message
return https_fn.Response(f"Message with ID {doc_ref.id} added.")
"मैसेज जोड़ें" फ़ंक्शन, एक एचटीटीपी एंडपॉइंट है. एंडपॉइंट पर किए गए किसी भी अनुरोध के जवाब में, अनुरोध और जवाब के ऑब्जेक्ट, आपके प्लैटफ़ॉर्म के लिए अनुरोध हैंडलर (onRequest()
या on_request) को पास किए जाते हैं.
एचटीटीपी फ़ंक्शन, सिंक्रोनस होते हैं. ये
कॉल किए जा सकने वाले फ़ंक्शनकी तरह होते हैं. इसलिए, आपको जल्द से जल्द जवाब भेजना चाहिए और Cloud Firestoreका इस्तेमाल करके काम को टालना चाहिए. "मैसेज जोड़ें" एचटीटीपी फ़ंक्शन, एचटीटीपी एंडपॉइंट को एक टेक्स्ट वैल्यू पास करता है और उसे /messages/:documentId/original पाथ के तहत डेटाबेस में डालता है.
"कैपिटल लेटर में बदलें" फ़ंक्शन जोड़ना
"कैपिटल लेटर में बदलें" फ़ंक्शन के लिए, अपनी सोर्स फ़ाइल में ये लाइनें जोड़ें:
Node.js
// Listens for new messages added to /messages/:documentId/original
// and saves an uppercased version of the message
// to /messages/:documentId/uppercase
exports.makeuppercase = onDocumentCreated("/messages/{documentId}", (event) => {
// Grab the current value of what was written to Firestore.
const original = event.data.data().original;
// Access the parameter `{documentId}` with `event.params`
logger.log("Uppercasing", event.params.documentId, original);
const uppercase = original.toUpperCase();
// You must return a Promise when performing
// asynchronous tasks inside a function
// such as writing to Firestore.
// Setting an 'uppercase' field in Firestore document returns a Promise.
return event.data.ref.set({uppercase}, {merge: true});
});
Python
@firestore_fn.on_document_created(document="messages/{pushId}")
def makeuppercase(event: firestore_fn.Event[firestore_fn.DocumentSnapshot | None]) -> None:
"""Listens for new documents to be added to /messages. If the document has
an "original" field, creates an "uppercase" field containg the contents of
"original" in upper case."""
# Get the value of "original" if it exists.
if event.data is None:
return
try:
original = event.data.get("original")
except KeyError:
# No "original" field, so do nothing.
return
# Set the "uppercase" field.
print(f"Uppercasing {event.params['pushId']}: {original}")
upper = original.upper()
event.data.reference.update({"uppercase": upper})
"कैपिटल लेटर में बदलें" फ़ंक्शन, Cloud Firestore में लिखने पर काम करता है, इससे, सुनने के लिए दस्तावेज़ तय होता है. परफ़ॉर्मेंस की वजहों से, आपको ज़्यादा से ज़्यादा सटीक जानकारी देनी चाहिए.
ब्रेसेस—उदाहरण के लिए, {documentId}—"पैरामीटर" को घेरते हैं. ये वाइल्डकार्ड होते हैं, जो कॉलबैक में मैच किए गए डेटा को दिखाते हैं. Cloud Firestore नए मैसेज जोड़े जाने पर,
कॉलबैक को ट्रिगर करता है.
Node.js में, इवेंट-ड्रिवन फ़ंक्शन, जैसे कि Cloud Firestore इवेंट
एसिंक्रोनस होते हैं. कॉलबैक फ़ंक्शन को या तो एक null, कोई ऑब्जेक्ट,
या कोई प्रॉमिस दिखाना चाहिए.
अगर कुछ भी नहीं दिखाया जाता है, तो फ़ंक्शन का टाइम आउट हो जाता है. इससे गड़बड़ी का सिग्नल मिलता है और इसे फिर से आज़माया जाता है. सिंक, एसिंक, और प्रॉमिस देखें.
अपने फ़ंक्शन के एक्ज़ीक्यूशन को एम्युलेट करना
Firebase Local Emulator Suite की मदद से, Firebase प्रोजेक्ट में डिप्लॉय करने के बजाय, अपने कंप्यूटर पर ऐप्लिकेशन बनाए और टेस्ट किए जा सकते हैं. डेवलपमेंट के दौरान, स्थानीय तौर पर टेस्ट करने का सुझाव दिया जाता है. इसकी एक वजह यह है कि इससे कोडिंग की गड़बड़ियों से होने वाले जोखिम को कम किया जा सकता है. इन गड़बड़ियों की वजह से, प्रोडक्शन एनवायरमेंट में लागत लग सकती है. उदाहरण के लिए, इनफ़ाइनाइट लूप.
अपने फ़ंक्शन को एम्युलेट करने के लिए:
firebase emulators:startचलाएं और Emulator Suite UI के यूआरएल के लिए आउटपुट देखें. यह डिफ़ॉल्ट रूप से localhost:4000 पर होता है. हालांकि, आपके कंप्यूटर पर इसे किसी दूसरे पोर्ट पर होस्ट किया जा सकता है. अपने ब्राउज़र में वह यूआरएल डालें ताकि Emulator Suite UI खुल सके.एचटीटीपी फ़ंक्शन के यूआरएल के लिए,
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 में, फ़ंक्शन के असर देखें:
लॉग टैब में, आपको नए लॉग दिखने चाहिए. इनसे पता चलता है कि आपके एचटीटीपी फ़ंक्शन सफलतापूर्वक चले हैं:
i functions: Beginning execution of "addMessage"i functions: Beginning execution of "makeUppercase"Firestore टैब में, आपको एक ऐसा दस्तावेज़ दिखना चाहिए जिसमें आपका ओरिजनल मैसेज और मैसेज का कैपिटल लेटर वाला वर्शन शामिल हो. अगर आपका ओरिजनल मैसेज "uppercaseme" था, तो आपको "UPPERCASEME" दिखेगा.
फ़ंक्शन को प्रोडक्शन एनवायरमेंट में डिप्लॉय करना
जब आपके फ़ंक्शन, एम्युलेटर में आपकी ज़रूरत के मुताबिक काम करने लगें, तब उन्हें प्रोडक्शन एनवायरमेंट में डिप्लॉय, टेस्ट, और रन किया जा सकता है. ध्यान रखें कि प्रोडक्शन में डिप्लॉय करने के लिए, आपका प्रोजेक्ट ब्लेज़ प्लानपर होना चाहिए. की बिलिंग की जानकारी देखें Cloud Functions.
ट्यूटोरियल पूरा करने के लिए, अपने फ़ंक्शन डिप्लॉय करें और फिर उन्हें एक्ज़ीक्यूट करें.
अपने फ़ंक्शन डिप्लॉय करने के लिए, यह कमांड चलाएं:
firebase deploy --only functions
यह कमांड चलाने के बाद, Firebase CLI, एचटीटीपी फ़ंक्शन एंडपॉइंट के लिए यूआरएल दिखाता है. आपके टर्मिनल में, इस तरह की लाइन दिखनी चाहिए:
Function URL (addMessage): https://us-central1-MY_PROJECT.cloudfunctions.net/addMessageयूआरएल में आपका प्रोजेक्ट आईडी और एचटीटीपी फ़ंक्शन के लिए एक इलाका शामिल होता है. हालांकि, अभी आपको इसकी चिंता करने की ज़रूरत नहीं है. प्रोडक्शन के कुछ एचटीटीपी फ़ंक्शन में, नेटवर्क की लेटेन्सी कम करने के लिए, जगह की जानकारी दी जानी चाहिए.
अगर आपको ऐक्सेस से जुड़ी गड़बड़ियां मिलती हैं, जैसे कि "प्रोजेक्ट का ऐक्सेस देने की अनुमति नहीं है", तो अपने प्रोजेक्ट के एलियासिंग की जांच करें.
CLI से मिले यूआरएल का इस्तेमाल करके, एक टेक्स्ट क्वेरी पैरामीटर जोड़ें, और उसे किसी ब्राउज़र में खोलें:
https://us-central1-MY_PROJECT.cloudfunctions.net/addMessage?text=uppercasemetooफ़ंक्शन एक्ज़ीक्यूट होता है और ब्राउज़र को डेटाबेस की उस जगह पर Firebase कंसोल पर रीडायरेक्ट करता है जहां टेक्स्ट स्ट्रिंग सेव है. इस राइट इवेंट से "कैपिटल लेटर में बदलें" फ़ंक्शन ट्रिगर होता है. यह फ़ंक्शन, स्ट्रिंग का कैपिटल लेटर वाला वर्शन लिखता है.
फ़ंक्शन डिप्लॉय और एक्ज़ीक्यूट करने के बाद, आप Google Cloud कंसोल में लॉग देख सकते हैं. अगर आपको फ़ंक्शन मिटाने हैं डेवलपमेंट या प्रोडक्शन में, तो Firebase CLI का इस्तेमाल करें.
प्रोडक्शन में, रन करने के लिए इंस्टेंस की कम से कम और ज़्यादा से ज़्यादा संख्या सेट करके, फ़ंक्शन की परफ़ॉर्मेंस को ऑप्टिमाइज़ किया जा सकता है और लागत को कंट्रोल किया जा सकता है. इन रनटाइम विकल्पों के बारे में ज़्यादा जानने के लिए, स्केलिंग के व्यवहार को कंट्रोल करना लेख पढ़ें.
.अगले चरण
इस दस्तावेज़ में, फ़ंक्शन मैनेज करने के तरीके के साथ-साथ, Cloud Functions के साथ काम करने वाले सभी तरह के इवेंट को मैनेज करने के तरीके के बारे में ज़्यादा जाना जा सकता है.Cloud Functions
Cloud Functions के बारे में ज़्यादा जानने के लिए, आप यह भी कर सकते हैं:
- इस्तेमाल के उदाहरणों के बारे में पढ़ें Cloud Functions.
- Cloud Functions कोडलैब आज़माएं.
- GitHub पर कोड के सैंपल देखें और उन्हें चलाएं