Cloud Storage for Firebase की मदद से, उपयोगकर्ता से जनरेट किया गया कॉन्टेंट अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे, अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा, Google Cloud Storage बकेट में सेव होता है. यह एक ऐसा ऑब्जेक्ट स्टोरेज सलूशन है जो एक्जाबाइट के स्केल पर काम करता है. इसमें डेटा को आसानी से ऐक्सेस किया जा सकता है और दुनिया भर में डेटा का बैकअप मौजूद होता है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क की समस्या को आसानी से हल किया जा सकता है.
शुरू करने से पहले
अगर आपने अब तक वेब ऐप्लिकेशन के लिए शुरुआती गाइड को पूरा नहीं किया है, तो इसे ज़रूर पूरा करें. इसमें इस तरह का कॉन्टेंट शामिल है:
Firebase प्रोजेक्ट बनाना.
अपने वेब ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना और अपने ऐप्लिकेशन में Firebase JS SDK टूल और Firebase कॉन्फ़िगरेशन ऑब्जेक्ट जोड़कर, अपने ऐप्लिकेशन को Firebase से कनेक्ट करना.
पक्का करें कि आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर हो. अगर आपने Firebase और Google Cloud का इस्तेमाल पहले कभी नहीं किया है, तो देखें कि क्या आपके पास 300 डॉलर के क्रेडिट पाने की ज़रूरी शर्तें पूरी हैं.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल के नेविगेशन पैनल में, स्टोरेज चुनें.
अगर आपका प्रोजेक्ट अब तक, 'इस्तेमाल के हिसाब से पैसे चुकाएं' वाले Blaze प्लान पर नहीं है, तो आपको प्रोजेक्ट को अपग्रेड करने के लिए कहा जाएगा.
शुरू करें पर क्लिक करें.
अपनी डिफ़ॉल्ट बकेट के लिए कोई जगह चुनें.
,US-CENTRAL1
, औरUS-EAST1
में मौजूद बकेट, Google Cloud Storage के लिए "हमेशा मुफ़्त" टीयर का फ़ायदा ले सकते हैं. बाकी सभी जगहों की बकेट के लिए, Google Cloud Storage कीमत और इस्तेमाल का पालन किया जाता है.US-WEST1
अगर आप चाहें, तो बाद में एक से ज़्यादा बकेट बनाई जा सकती हैं. हर बकेट की अपनी जगह होगी.
अपनी डिफ़ॉल्ट बकेट के लिए Firebase Security Rules को कॉन्फ़िगर करें. ऐप्लिकेशन डेवलप करने के दौरान, सार्वजनिक ऐक्सेस के लिए नियम सेट अप करें.
हो गया पर क्लिक करें.
अब Firebase कंसोल के Cloud Storage फ़ाइलें टैब में जाकर, बकेट देखी जा सकती है. आपकी बकेट के नाम का डिफ़ॉल्ट फ़ॉर्मैट,
PROJECT_ID.firebasestorage.app
सार्वजनिक ऐक्सेस सेट अप करना
Cloud Storage for Firebase, नियमों की ऐसी भाषा उपलब्ध कराता है जिससे यह तय किया जा सकता है कि आपके डेटा को कैसे स्ट्रक्चर किया जाए, उसे कैसे इंडेक्स किया जाए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, Cloud Storage को पढ़ने और उसमें बदलाव करने पर पाबंदी होती है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा पढ़ सकते हैं या उसमें बदलाव कर सकते हैं. Authentication सेट अप किए बिना शुरू करने के लिए, आपके पास सार्वजनिक ऐक्सेस के लिए अपने नियम कॉन्फ़िगर करने का विकल्प है.
ऐसा करने पर, Cloud Storage को कोई भी ऐक्सेस कर सकता है. यहां तक कि वे लोग भी जो आपके ऐप्लिकेशन का इस्तेमाल नहीं करते. इसलिए, पुष्टि करने की सुविधा सेट अप करते समय, Cloud Storage पर फिर से पाबंदी लगाना न भूलें.
Cloud Storage JS SDK टूल जोड़ना और Cloud Storage को शुरू करना
JavaScript SDK को शुरू करते समय, आपको अपनी Cloud Storage बकेट का नाम बताना होगा.
Cloud Storage कंसोल के Cloud Storage फ़ाइलें टैब में, अपनी Cloud Storage बकेट का नाम देखा जा सकता है.Firebase डिफ़ॉल्ट बकेट बनाने के समय के हिसाब से, बकेट का नाम इनमें से किसी एक फ़ॉर्मैट में होगा:
(30 अक्टूबर, 2024 को या उसके बादPROJECT_ID.firebasestorage.app
बनाई गई डिफ़ॉल्ट बकेट ) (डिफ़ॉल्ट बकेट,PROJECT_ID.appspot.com
30 अक्टूबर, 2024 से पहले बनाई गई)
नीचे दिए गए कोड स्निपेट का इस्तेमाल करके, SDK टूल को शुरू करें:
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: 'BUCKET_NAME'
};
// 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: 'BUCKET_NAME'
};
// 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 को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, Google Cloud SDK में शामिल gsutil
टूल का इस्तेमाल करें:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
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");
अगले चरण
अपने ऐप्लिकेशन को लॉन्च करने के लिए तैयारी करना:
App Check को चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन ही आपकी स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट से जुड़ी सूचनाएं सेट अप करें.
Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की कई सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी. इस्तेमाल से जुड़ी ज़्यादा जानकारी के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.
Firebase लॉन्च चेकलिस्ट देखें.