अपने ऐप्लिकेशन को 'Firebase के लिए Cloud Storage' एम्युलेटर से कनेक्ट करना

अपने ऐप्लिकेशन को Cloud Storage for Firebase एम्युलेटर से कनेक्ट करने से पहले, पक्का करें कि कि आपको पूरे Firebase Local Emulator Suite वर्कफ़्लो के बारे में पता है, और यह कि आप इंस्टॉल और कॉन्फ़िगर Local Emulator Suite और इसके सीएलआई निर्देशों को देखें.

कोई Firebase प्रोजेक्ट चुनें

Firebase Local Emulator Suite, किसी एक Firebase प्रोजेक्ट के लिए प्रॉडक्ट को एम्युलेट करता है.

सीएलआई रन में, एम्युलेटर शुरू करने से पहले, इस्तेमाल करने के लिए प्रोजेक्ट चुनने के लिए firebase use आपकी मौजूदा डायरेक्ट्री में मौजूद है. या फिर, हर एम्युलेटर के लिए, --project फ़्लैग आदेश.

Local Emulator Suite, रीयल Firebase प्रोजेक्ट को एम्युलेट करने के साथ-साथ डेमो प्रोजेक्ट.

प्रोजेक्ट का टाइप सुविधाएं एम्युलेटर के साथ इस्तेमाल करें
रीयल

असली Firebase प्रोजेक्ट वह होता है जिसे आपने बनाया और कॉन्फ़िगर किया है (सबसे ज़्यादा Firebase कंसोल के ज़रिए).

असल प्रोजेक्ट में लाइव संसाधन होते हैं, जैसे कि डेटाबेस इंस्टेंस, स्टोरेज बकेट, फ़ंक्शन या उस Firebase के लिए सेट अप किया गया कोई भी अन्य संसाधन प्रोजेक्ट.

रीयल Firebase प्रोजेक्ट के साथ काम करते समय, किसी भी इस्तेमाल किए जा सकने वाले सभी प्रॉडक्ट का इस्तेमाल किया जा सकता है.

जिन प्रॉडक्ट को एम्युलेट नहीं किया जा रहा है उनके लिए, आपके ऐप्लिकेशन और कोड लाइव संसाधन (डेटाबेस इंस्टेंस, स्टोरेज) के साथ इंटरैक्ट करें बकेट, फ़ंक्शन वगैरह).

डेमो

डेमो Firebase प्रोजेक्ट में कोई वास्तविक Firebase कॉन्फ़िगरेशन नहीं होता और कोई लाइव संसाधन नहीं. इन प्रोजेक्ट को आम तौर पर कोडलैब से ऐक्सेस किया जाता है या अन्य ट्यूटोरियल.

डेमो प्रोजेक्ट के प्रोजेक्ट आईडी में demo- प्रीफ़िक्स होता है.

डेमो Firebase प्रोजेक्ट के साथ काम करते समय, आपके ऐप्लिकेशन और कोड सिर्फ़ एम्युलेटर. अगर आपका ऐप्लिकेशन किसी संसाधन का इस्तेमाल करता है जिसके लिए एम्युलेटर नहीं चल रहा है, तो वह कोड काम नहीं करेगा.

हमारा सुझाव है कि जहां भी मुमकिन हो, डेमो प्रोजेक्ट का इस्तेमाल करें. सदस्यता के साथ यहां दिए गए फ़ायदे मिलते हैं:

  • सेटअप करना आसान है. इसकी वजह यह है कि एम्युलेटर को चलाने के लिए, आपको कोई Firebase प्रोजेक्ट
  • बेहतर सुरक्षा, क्योंकि अगर आपका कोड गलती से किसी ऐसे प्लैटफ़ॉर्म पर शुरू हो जाता है जो सिम्युलेट नहीं किया गया है (प्रोडक्शन) में उपलब्ध संसाधनों के लिए, डेटा को बदलने, इस्तेमाल, और बिलिंग की संभावना नहीं है
  • बेहतर ऑफ़लाइन सहायता, क्योंकि देखने के लिए इंटरनेट ऐक्सेस करने की ज़रूरत नहीं होती अपने SDK टूल का कॉन्फ़िगरेशन डाउनलोड करें.

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

Android, Apple प्लैटफ़ॉर्म, और Web SDK

इन-ऐप्लिकेशन कॉन्फ़िगरेशन या टेस्ट क्लास सेट अप करें, ताकि Cloud Storage for Firebase एम्युलेटर इस तरह है.

Kotlin+KTX
// 10.0.2.2 is the special IP address to connect to the 'localhost' of
// the host computer from an Android emulator.
val storage = Firebase.storage
storage.useEmulator("10.0.2.2", 9199)
Java
// 10.0.2.2 is the special IP address to connect to the 'localhost' of
// the host computer from an Android emulator.
FirebaseStorage storage = FirebaseStorage.getInstance();
storage.useEmulator("10.0.2.2", 9199);
Swift
Storage.storage().useEmulator(withHost: "127.0.0.1", port: 9199)

Web

const { getStorage, connectStorageEmulator } = require("firebase/storage");

const storage = getStorage();
if (location.hostname === "localhost") {
  // Point to the Storage emulator running on localhost.
  connectStorageEmulator(storage, "127.0.0.1", 9199);
} 

Web

var storage = firebase.storage();
if (location.hostname === "localhost") {
  // Point to the Storage emulator running on localhost.
  storage.useEmulator("127.0.0.1", 9199);
} 

Cloud Storage for Firebase इवेंट से ट्रिगर किए गए क्लाउड फ़ंक्शन की जांच करने के लिए, किसी दूसरे सेटअप की ज़रूरत नहीं है एम्युलेटर का इस्तेमाल करें. जब Cloud Storage for Firebase और Cloud Functions एम्युलेटर दोनों चल रहे हैं. ये अपने-आप साथ काम करते हैं.

Admin SDK सेकंड

Firebase Admin SDK अपने-आप Cloud Storage for Firebase से कनेक्ट हो जाता है एम्युलेटर, जब FIREBASE_STORAGE_EMULATOR_HOST एनवायरमेंट वैरिएबल सेट हो:

export FIREBASE_STORAGE_EMULATOR_HOST="127.0.0.1:9199"

ध्यान दें कि Cloud Functions एम्युलेटर को Cloud Storage for Firebase एम्युलेटर, ताकि आप टेस्टिंग के दौरान यह चरण छोड़ सकें Cloud Functions और Cloud Storage for Firebase के बीच इंटिग्रेशन एम्युलेटर. एडमिन SDK के लिए, एनवायरमेंट वैरिएबल अपने-आप सेट हो जाएगा Cloud Storage for Firebase में.

अगर आपको अपना Admin SDK कोड, किसी ऐसे एम्युलेटर से कनेक्ट करना है जो इसके साथ चल रहा है किसी अन्य एनवायरमेंट के लिए, आपको वही प्रोजेक्ट आईडी बताना होगा जिसे आपने Firebase सीएलआई का इस्तेमाल करके सेट किया था. प्रोजेक्ट आईडी को सीधे initializeApp में पास किया जा सकता है या GCLOUD_PROJECT एनवायरमेंट वैरिएबल.

Node.js का एडमिन SDK
admin.initializeApp({ projectId: "your-project-id" });
एनवायरमेंट वैरिएबल
export GCLOUD_PROJECT="your-project-id"

डेटा इंपोर्ट और एक्सपोर्ट करना

डेटाबेस और Cloud Storage for Firebase एम्युलेटर की मदद से, डेटा एक्सपोर्ट किया जा सकता है मिल रहे एम्युलेटर इंस्टेंस से अलग हो. अपने विज्ञापनों में उपयोग करने के लिए डेटा का एक बेसलाइन सेट निर्धारित करें यूनिट की जांच या लगातार इंटिग्रेशन वर्कफ़्लो किया जा सकता है. इसके बाद, इसे शेयर करने के लिए एक्सपोर्ट किया जा सकता है का हिस्सा हैं.

firebase emulators:export ./dir

टेस्ट में, एम्युलेटर स्टार्टअप पर, बेसलाइन डेटा इंपोर्ट करें.

firebase emulators:start --import=./dir

एम्युलेटर को यह निर्देश दिया जा सकता है कि वह बंद होने पर डेटा एक्सपोर्ट करे. इसके लिए, पाथ एक्सपोर्ट करें या --import को दिए गए पाथ का इस्तेमाल करें फ़्लैग करें.

firebase emulators:start --import=./dir --export-on-exit

डेटा इंपोर्ट और एक्सपोर्ट करने के ये विकल्प, firebase emulators:exec निर्देश भी. ज़्यादा जानकारी के लिए, इसे देखें emulator निर्देश का रेफ़रंस.

Cloud Storage for Firebase एम्युलेटर, प्रोडक्शन से किस तरह अलग है

क्लाइंट ऐप्लिकेशन की जांच करने के लिए, Cloud Storage for Firebase एम्युलेटर इस हम Firebase API के सरफ़ेस एरिया के हिसाब से भी प्रोडक्शन कर सकते हैं. सभी Firebase के निर्देश सामान्य Firebase SDK टूल (वेब, और Apple प्लैटफ़ॉर्म पर).

सर्वर साइड ऐप्लिकेशन की जांच के लिए सीमाएं लागू होती हैं. Firebase एडमिन SDK को Google Cloud एपीआई प्लैटफ़ॉर्म का इस्तेमाल करना चाहिए. इस एपीआई के सभी एंडपॉइंट एम्युलेट किया गया. बुनियादी नियम यह है कि जो भी काम क्लाइंट SDK टूल से किया जा सकता है (फ़ाइलें अपलोड करना या मिटाना, मेटाडेटा पाना और सेट करना) भी लागू किया जाता है वाला है, लेकिन इसके अलावा कोई और काम नहीं करता है. शामिल न की जाने वाली खास बातें नीचे सूचीबद्ध हैं.

Google Cloud Storage से अंतर

स्टोरेज एम्युलेटर के साथ-साथ Cloud Storage for Firebase प्रॉडक्ट, स्टोरेज ऑब्जेक्ट पर फ़ोकस करने वाली Google Cloud Storage (GCS) की सुविधा का एक सबसेट यह Firebase ऐप्लिकेशन डेवलप करने में बहुत मदद करता है. Cloud Storage for Firebase अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ये GCS (जीसीएस) से इस तरह अलग हैं:

  • फ़िलहाल, Cloud Storage for Firebase इनके लिए Bucket एपीआई के साथ काम नहीं करता स्टोरेज बकेट बनाना, लिस्ट करना, पाना या मिटाना.
  • Google Cloud Storage ऑब्जेक्ट एपीआई से, इन तरीकों का इस्तेमाल किया जा सकता है: copy, delete, get, insert, list, patch, rewrite, update.

Cloud IAM

Firebase एम्युलेटर सुइट, किसी दौड़ने के लिए IAM से जुड़ा व्यवहार. एम्युलेटर, Firebase की सुरक्षा का पालन करता है नियम दिए गए हैं, लेकिन उन स्थितियों में जहां आम तौर पर IAM का इस्तेमाल किया जाता है, उदाहरण के लिए सेवा खाते और इस तरह अनुमतियों को शुरू करने वाले Cloud Functions को सेट करने के लिए, एम्युलेटर को कॉन्फ़िगर नहीं किया जा सकता और वह दुनिया भर में उपलब्ध खाते का इस्तेमाल, इस पर करेगा आपकी डेवलपर मशीन, ठीक उसी तरह काम करती है जैसे सीधे कोई स्थानीय स्क्रिप्ट चलाने के लिए की जाती है.

Pub/Sub सूचनाएं

Cloud Storage for Firebase एम्युलेटर, क्लाउड के साथ इंटिग्रेट नहीं होता Pub/Sub एम्युलेटर, टेंप्लेट बनाने की सुविधा नहीं देता चैनल/सूचनाएँ देखें. हमारा सुझाव है कि आप इनका इस्तेमाल करें Cloud Functions स्टोरेज सीधे ट्रिगर होता है.

बकेट-लेवल का मेटाडेटा

Cloud Storage for Firebase एम्युलेटर, किसी भी बकेट-लेवल के साथ काम नहीं करता कॉन्फ़िगरेशन, जिसमें स्टोरेज क्लास, बकेट-लेवल के सीओआरएस कॉन्फ़िगरेशन, लेबल, या निजी डेटा के रखरखाव की नीतियों का पालन करना चाहिए. Firebase समय के साथ इस सहायता को बेहतर बनाना चाहता है.

आगे क्या करना है?