Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

स्थानीय रूप से कार्य चलाएँ

फायरबेस सीएलआई में एक क्लाउड फ़ंक्शंस एमुलेटर शामिल है जो निम्नलिखित फ़ंक्शन प्रकारों का अनुकरण कर सकता है:

  • HTTPS फ़ंक्शन
  • कॉल करने योग्य कार्य
  • पृष्ठभूमि कार्य प्रमाणीकरण, रीयलटाइम डेटाबेस, क्लाउड फायरस्टार और क्लाउड पब / उप से शुरू होते हैं।

आप उत्पादन को लागू करने से पहले उन्हें परीक्षण करने के लिए स्थानीय रूप से फ़ंक्शन चला सकते हैं।

फायरबेस सीएलआई स्थापित करें

क्लाउड फ़ंक्शंस एमुलेटर का उपयोग करने के लिए, पहले फायरबेस सीएलआई स्थापित करें:

npm install -g firebase-tools

स्थानीय एमुलेटर का उपयोग करने के लिए, आपके क्लाउड फ़ंक्शंस पर निर्भर होना चाहिए:

  • firebase-admin संस्करण 8.0.0 या उच्चतर।
  • firebase-functions संस्करण 3.0.0 या उच्चतर।

व्यवस्थापक क्रेडेंशियल सेट करें (वैकल्पिक)

यदि आप चाहते हैं कि आपके कार्य परीक्षण Google API या अन्य Firebase APIs के साथ Firebase Admin SDK के साथ इंटरैक्ट करें, तो आपको व्यवस्थापक क्रेडेंशियल्स सेट करने की आवश्यकता हो सकती है।

  • क्लाउड फायरस्टार और रियलटाइम डेटाबेस ट्रिगर में पहले से ही पर्याप्त क्रेडेंशियल्स हैं, और अतिरिक्त सेटअप की आवश्यकता नहीं है।
  • फायरबेस एपीआई और प्रमाणीकरण और FCM या क्लाउड अनुवाद या क्लाउड भाषण जैसे Google API सहित अन्य सभी एपीआई को इस खंड में वर्णित सेटअप चरणों की आवश्यकता होती है। यह लागू होता है कि क्या आप फ़ंक्शन शेल या firebase emulators:start का उपयोग कर रहे हैं firebase emulators:start

उत्सर्जित कार्यों के लिए व्यवस्थापक क्रेडेंशियल स्थापित करने के लिए:

  1. Google क्लाउड कंसोल के सेवा खाते फलक खोलें।
  2. सुनिश्चित करें कि ऐप इंजन डिफ़ॉल्ट सेवा खाता चयनित है, और बनाएँ कुंजी का चयन करने के लिए दाईं ओर विकल्प मेनू का उपयोग करें।
  3. जब संकेत दिया जाए, तो कुंजी प्रकार के लिए JSON चुनें, और बनाएँ पर क्लिक करें
  4. डाउनलोड की गई कुंजी को इंगित करने के लिए अपने Google डिफ़ॉल्ट क्रेडेंशियल्स सेट करें:

    यूनिक्स

    $ export GOOGLE_APPLICATION_CREDENTIALS="path/to/key.json"
    
    $ firebase emulators:start
    

    खिड़कियाँ

    $ set GOOGLE_APPLICATION_CREDENTIALS=path\to\key.json
    
    $ firebase emulators:start
    

इन चरणों को पूरा करने के बाद, आपके फ़ंक्शन परीक्षण एडमिन एसडीके का उपयोग करके फायरबेस और Google एपीआई तक पहुंच सकते हैं। उदाहरण के लिए, एक प्रमाणीकरण ट्रिगर का परीक्षण करते समय, admin.auth().getUserByEmail(email) फ़ंक्शन admin.auth().getUserByEmail(email) को कॉल कर सकता है।

फ़ंक्शन कॉन्फ़िगरेशन सेट करें (वैकल्पिक)

यदि आप कस्टम फ़ंक्शंस कॉन्फ़िगरेशन चर का उपयोग कर रहे हैं, तो अपने स्थानीय वातावरण में अपने कस्टम कॉन्फ़िगर ( functions निर्देशिका में इसे चलाएं) प्राप्त करने के लिए सबसे पहले कमांड चलाएँ:

firebase functions:config:get > .runtimeconfig.json
# If using Windows PowerShell, replace the above with:
# firebase functions:config:get | ac .runtimeconfig.json
firebase functions:shell

एमुलेटर सूट चलाएं

क्लाउड फ़ंक्शंस एमुलेटर चलाने के लिए, एमुलेटर का उपयोग करें emulators:start कमांड emulators:start :

firebase emulators:start

emulators:start कमांड क्लाउड फंक्शंस, क्लाउड फायरस्टार, रियलटाइम डेटाबेस और फायरबेस होस्टिंग के लिए एमुलेटर शुरू करेगा, जिन उत्पादों को आपने firebase init का उपयोग करके अपने स्थानीय प्रोजेक्ट में आरंभीकृत किया है। यदि आप किसी विशेष एमुलेटर को शुरू करना चाहते हैं, तो --only flag का उपयोग करें:

firebase emulators:start --only functions

यदि आप एमुलेटर चालू करने के बाद एक परीक्षण सूट या परीक्षण स्क्रिप्ट चलाना चाहते हैं, तो emulators:exec उपयोग करें emulators:exec कमांड emulators:exec :

firebase emulators:exec "./my-test.sh"

एमुलेटर से बात करने के लिए अपने ऐप को इंस्ट्रूमेंट करें

अपने ऐप को एमुलेटर से इंटरैक्ट करने के लिए, आपको कुछ अतिरिक्त कॉन्फ़िगरेशन करने की आवश्यकता हो सकती है।

कॉल करने योग्य कार्यों के लिए अपने एप्लिकेशन को साधन दें

यदि आपके प्रोटोटाइप और परीक्षण गतिविधियों में कॉल करने योग्य बैकएंड फ़ंक्शन शामिल हैं, तो इस तरह से Firebase एमुलेटर के लिए क्लाउड फ़ंक्शंस के साथ इंटरैक्शन कॉन्फ़िगर करें:

एंड्रॉयड
        // 10.0.2.2 is the special IP address to connect to the 'localhost' of
        // the host computer from an Android emulator.
        FirebaseFunctions functions = FirebaseFunctions.getInstance();
        functions.useEmulator("10.0.2.2.", 5001);
आईओएस - स्विफ्ट
Functions.functions().useFunctionsEmulator(origin: "http://localhost:5001")

वेब v8

firebase.functions().useEmulator("localhost", 5001);

वेब 9

import { getApp } from "firebase/app";
import { getFunctions, useFunctionsEmulator } from "firebase/functions";

const functions = getFunctions(getApp());
useFunctionsEmulator(functions, "localhost", 5001);

HTTPS फंक्शन एमुलेशन के लिए अपने ऐप को इंस्ट्रूमेंट करें

आपके कोड में प्रत्येक HTTPS फ़ंक्शन को निम्न URL प्रारूप का उपयोग करके स्थानीय एमुलेटर से परोसा जाएगा:

http:// $HOST : $PORT / $PROJECT / $REGION / $NAME

उदाहरण के लिए, डिफ़ॉल्ट होस्ट पोर्ट और क्षेत्र के साथ एक साधारण helloWorld फ़ंक्शन helloWorld पर परोसा जाएगा:

https://localhost:5001/ $PROJECT /us-central1/helloWorld

पृष्ठभूमि-ट्रिगर कार्यों के अनुकरण के लिए अपने ऐप को इंस्ट्रूमेंट करें

क्लाउड फ़ंक्शंस एमुलेटर निम्न स्रोतों से पृष्ठभूमि-ट्रिगर कार्यों का समर्थन करता है:

  • रीयलटाइम डेटाबेस एमुलेटर
  • क्लाउड फायरस्टार एमुलेटर
  • प्रमाणीकरण एमुलेटर
  • पब / सब एमुलेटर

पृष्ठभूमि घटनाओं को ट्रिगर करने के लिए, अपने प्लेटफ़ॉर्म के लिए एसडीके का उपयोग करके अपने ऐप या टेस्ट कोड को एमुलेटर से कनेक्ट करें।

अन्य सेवाओं के साथ बातचीत

एमुलेटर सूट में कई एमुलेटर शामिल हैं, जो क्रॉस-उत्पाद इंटरैक्शन के परीक्षण को सक्षम करते हैं।

क्लाउड फायरस्टार

यदि आपके पास क्लाउड फ़ंक्शंस हैं जो क्लाउड फायरस्टोर को लिखने के लिए फायरबेस एडमिन एसडीके का उपयोग करते हैं, तो ये राइट्स क्लाउड फायरस्टार एमुलेटर पर भेजा जाएगा यदि यह चल रहा है। यदि आगे लिखने वाले क्लाउड फ़ंक्शंस चालू हो जाते हैं, तो उन्हें क्लाउड फ़ंक्शंस एमुलेटर में चलाया जाएगा।

फायरबेस होस्टिंग

अगर आप फायरबेस होस्टिंग के लिए डायनामिक कंटेंट जेनरेट करने के लिए क्लाउड फंक्शन्स का उपयोग कर रहे हैं, तो firebase emulators:start होस्टिंग के लिए प्रॉक्सी के रूप में अपने स्थानीय HTTP फ़ंक्शंस का उपयोग करना firebase emulators:start करें।

लॉगिंग

एमुलेटर स्ट्रीम आपके फ़ंक्शंस से टर्मिनल विंडो तक लॉग इन करता है जहां वे चलते हैं। यह आपके कार्यों के अंदर console.log() , console.info() , console.error() , और console.warn() स्टेटमेंट से सभी आउटपुट प्रदर्शित करता है।

अगला कदम

फायरबेस एम्यूलेटर सूट का उपयोग करने के एक पूर्ण उदाहरण के लिए, परीक्षण क्विकस्टार्ट नमूना देखें