'Firebase के लिए Cloud Storage' आपको इमेज और वीडियो जैसी यूज़र जनरेटेड कॉन्टेंट को अपलोड और शेयर करने की सुविधा देता है. इससे अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा Google Cloud Storage बकेट में सेव होता है — यह एक एक्ज़ाबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान है, जिसमें ज़्यादा उपलब्धता और ग्लोबल रिडंडंसी होती है. 'Firebase के लिए Cloud Storage' की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइस और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क को आसानी से मैनेज किया जा सकता है.
ज़रूरी शर्तें
अगर आपने पहले से ऐसा नहीं किया है, तो Firebase JS SDK टूल इंस्टॉल करें और Firebase शुरू करें.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल के नेविगेशन पैनल में जाकर, स्टोरेज चुनें. इसके बाद, शुरू करें पर क्लिक करें.
सुरक्षा नियमों का इस्तेमाल करके, Cloud Storage का डेटा सुरक्षित करने के बारे में दी गई सूचना देखें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए अपने नियम सेट अप करें.
अपने डिफ़ॉल्ट Cloud Storage बकेट के लिए, कोई जगह चुनें.
जगह की जानकारी की यह सेटिंग आपके प्रोजेक्ट की डिफ़ॉल्ट Google Cloud Platform (GCP) संसाधन जगह है. ध्यान दें कि इस जगह का इस्तेमाल आपके प्रोजेक्ट में उन GCP सेवाओं के लिए किया जाएगा जिनके लिए जगह की जानकारी की सेटिंग ज़रूरी है, खास तौर पर, आपका Cloud Firestore डेटाबेस और आपका App Engine ऐप्लिकेशन (अगर Cloud Scheduler का इस्तेमाल किया जाता है, तो यह ज़रूरी है).
अगर जगह चुनने में समस्या आ रही है, तो इसका मतलब है कि आपके प्रोजेक्ट में पहले से ही डिफ़ॉल्ट GCP रिसॉर्स लोकेशन मौजूद है. इसे प्रोजेक्ट बनाते समय या ऐसी कोई दूसरी सेवा सेट अप करते समय सेट किया गया था जिसके लिए जगह की जानकारी की सेटिंग की ज़रूरत होती है.
अगर आप Blaze प्लान पर हैं, तो आपके पास कई बकेट बनाने का विकल्प है. हर बकेट की अपनी जगह की जानकारी होनी चाहिए.
हो गया पर क्लिक करें.
सार्वजनिक ऐक्सेस सेट अप करें
'Firebase के लिए Cloud Storage' में, जानकारी देने वाले नियमों की भाषा मौजूद होती है. इससे यह तय किया जा सकता है कि आपका डेटा कैसे स्ट्रक्चर किया जाना चाहिए, उसे कैसे इंडेक्स किया जाना चाहिए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, Cloud Storage को पढ़ने और उसमें बदलाव करने का ऐक्सेस प्रतिबंधित है, ताकि सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा को पढ़ या उसमें बदलाव कर सकें. पुष्टि करने की सुविधा सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस से जुड़े अपने नियम कॉन्फ़िगर करें.
इससे Cloud Storage सभी के लिए उपलब्ध हो जाता है, यहां तक कि वे लोग भी जो आपके ऐप्लिकेशन का इस्तेमाल नहीं कर रहे हैं. इसलिए, पुष्टि करने की सुविधा सेट अप करते समय, अपने Cloud Storage को फिर से सीमित करना न भूलें.
अपने ऐप्लिकेशन में बकेट यूआरएल जोड़ें
अगर यह पहले से शामिल नहीं है, तो आपको अपने Firebase ऐप्लिकेशन के कॉन्फ़िगरेशन ऑब्जेक्ट में, Cloud Storage बकेट का यूआरएल जोड़ना होगा.
Firebase कंसोल में स्टोरेज डैशबोर्ड पर जाएं.
फ़ाइल टैब पर क्लिक करें. इसके बाद, फ़ाइल व्यूअर का हेडर देखें.
यूआरएल को अपने क्लिपबोर्ड पर कॉपी करें. आम तौर पर, यह
project-id.appspot.com
फ़ॉर्मैट में होता है.अपने ऐप्लिकेशन में
firebaseConfig
ऑब्जेक्ट में, अपने बकेट यूआरएल के साथstorageBucket
एट्रिब्यूट जोड़ें:
Web
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web
import firebase from "firebase/app"; import "firebase/compat/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
आप Cloud Storage का इस्तेमाल करने के लिए तैयार हैं!
अगला चरण? Cloud Storage के लिए रेफ़रंस बनाने का तरीका जानें.
ऐडवांस सेटअप
इस्तेमाल के कुछ मामले ऐसे हैं जिनके लिए अतिरिक्त सेटअप की ज़रूरत होती है:
- कई भौगोलिक क्षेत्रों में Cloud Storage बकेट का इस्तेमाल करना
- अलग-अलग स्टोरेज क्लास में, Cloud Storage बकेट का इस्तेमाल करना
- एक ही ऐप्लिकेशन में, पुष्टि किए गए कई उपयोगकर्ताओं के साथ Cloud Storage बकेट का इस्तेमाल करना
अगर आपके उपयोगकर्ता दुनिया भर में हैं और आपको उनके आस-पास के उपयोगकर्ताओं के पास अपना डेटा स्टोर करना है, तो इसका पहला इस्तेमाल करना सबसे सही तरीका है. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाकर इन इलाकों के उपयोगकर्ताओं का डेटा सेव किया जा सकता है, ताकि इंतज़ार का समय कम किया जा सके.
अगर आपके पास ऐक्सेस के अलग-अलग पैटर्न वाला डेटा है, तो इस्तेमाल का दूसरा उदाहरण मददगार होता है. उदाहरण के लिए: एक से ज़्यादा इलाकों या इलाके के हिसाब से ऐसा बकेट सेट अप किया जा सकता है जो तस्वीरों या अक्सर ऐक्सेस किए जाने वाले अन्य कॉन्टेंट को सेव करता हो. साथ ही, कोई नियरलाइन या कोल्डलाइन बकेट सेट अप कर सकता है, जिसमें उपयोगकर्ता के बैकअप या कभी-कभी ऐक्सेस किए जाने वाले कॉन्टेंट को स्टोर किया जाता है.
इस्तेमाल के इन मामलों में, आपको एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना होगा.
तीसरा उदाहरण आपके लिए तब काम का है, जब Google Drive जैसा कोई ऐप्लिकेशन बनाया जा रहा हो. इससे लोग, लॉग इन किए हुए एक से ज़्यादा खाते (उदाहरण के लिए, निजी खाता और काम से जुड़ा खाता) बना सकते हैं. हर अतिरिक्त खाते की पुष्टि करने के लिए, कस्टम Firebase ऐप्लिकेशन का इस्तेमाल किया जा सकता है.
एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना
अगर आपको ऊपर दिए गए डिफ़ॉल्ट बकेट के अलावा, किसी Cloud Storage बकेट का इस्तेमाल करना है या किसी एक ऐप्लिकेशन में कई Cloud Storage बकेट का इस्तेमाल करना है, तो आपके पास firebase.storage
का एक इंस्टेंस बनाने का विकल्प है जो आपके कस्टम बकेट का रेफ़रंस देता है:
Web
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
इंपोर्ट किए गए बकेट के साथ काम करना
किसी मौजूदा Cloud Storage बकेट को Firebase में इंपोर्ट करते समय, आपको
Firebase को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, gsutil
टूल का इस्तेमाल करें. यह टूल
Google Cloud SDK टूल में शामिल है:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
अपना प्रोजेक्ट नंबर Firebase प्रोजेक्ट के बारे में जानकारी में दिए गए तरीके से देखा जा सकता है.
इससे नए बनाए गए बकेट पर असर नहीं पड़ता, क्योंकि उनमें Firebase को अनुमति देने के लिए, डिफ़ॉल्ट ऐक्सेस कंट्रोल सेट होता है. यह कदम अस्थायी है और आने वाले समय में यह अपने-आप लागू हो जाएगा.
पसंद के मुताबिक Firebase ऐप्लिकेशन का इस्तेमाल करना
अगर आपको पसंद के मुताबिक बनाए गए firebase.app.App
का इस्तेमाल करके, ज़्यादा पेचीदा ऐप्लिकेशन बनाना है, तो उस ऐप्लिकेशन से शुरू किया गया firebase.storage.Storage
का इंस्टेंस बनाया जा सकता है:
Web
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
अगले चरण
अपना ऐप्लिकेशन लॉन्च करने की तैयारी करें:
ऐप्लिकेशन जांच की सुविधा चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन ही आपके स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud Console में, अपने प्रोजेक्ट के लिए बजट से जुड़ी चेतावनियां सेट अप करें.
Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की अलग-अलग सेवाओं में अपने प्रोजेक्ट के इस्तेमाल से जुड़ी पूरी जानकारी मिलेगी. इस्तेमाल से जुड़ी ज़्यादा जानकारी के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जा सकते हैं.