वेब पर Cloud Storage का इस्तेमाल शुरू करना

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

शुरू करने से पहले

  1. अगर आपने अब तक ऐसा नहीं किया है, तो पक्का करें कि आपने वेब ऐप्लिकेशन के लिए शुरुआती निर्देश पूरे कर लिए हों. इसमें इस तरह का कॉन्टेंट शामिल है:

    • Firebase प्रोजेक्ट बनाना.

    • प्रोजेक्ट में अपने वेब ऐप्लिकेशन को रजिस्टर करना और Firebase JS SDK टूल और Firebase कॉन्फ़िगरेशन ऑब्जेक्ट को अपने ऐप्लिकेशन में जोड़कर, ऐप्लिकेशन को Firebase से कनेक्ट करना.

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

डिफ़ॉल्ट Cloud Storage बकेट बनाना

  1. Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं.

    अगर आपका प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर नहीं है, तो आपको अपना प्रोजेक्ट अपग्रेड करने के लिए कहा जाएगा.

  2. शुरू करें पर क्लिक करें.

  3. अपनी डिफ़ॉल्ट बकेट के लिए कोई जगह चुनें.

  4. अपनी डिफ़ॉल्ट बकेट के लिए, Firebase Security Rules को कॉन्फ़िगर करें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए नियम सेट अप करने के बारे में सोचें.

  5. हो गया पर क्लिक करें.

अब Firebase कंसोल में बकेट देखी जा सकती है. इसके लिए, डेटाबेस और स्टोरेज > स्टोरेज > फ़ाइलें टैब पर जाएं. आपकी डिफ़ॉल्ट बकेट के नाम का फ़ॉर्मैट 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 बकेट का नाम, Firebase कंसोल में देखा जा सकता है. इसके लिए, डेटाबेस और स्टोरेज > स्टोरेज > फ़ाइलें टैब पर जाएं. डिफ़ॉल्ट बकेट बनाने के समय के आधार पर, बकेट का नाम इनमें से किसी एक फ़ॉर्मैट में होगा:

  • PROJECT_ID.firebasestorage.app (डिफ़ॉल्ट बकेट सितंबर 2024 को या इसके बाद बनाई गई)
  • PROJECT_ID.appspot.com (लेगसी डिफ़ॉल्ट बकेट, सितंबर 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 बकेट का इस्तेमाल करना होगा.

तीसरा इस्तेमाल का उदाहरण तब काम आता है, जब 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");

अगले चरण