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

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

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

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

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

    • अपने वेब ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना और अपने ऐप्लिकेशन को Firebase से कनेक्ट करना. इसके लिए, अपने ऐप्लिकेशन में Firebase JS SDK और 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 बकेट का नाम बताना होगा.

Firebase कंसोल में, Cloud Storage बकेट का नाम देखा जा सकता है. इसके लिए, डेटाबेस और स्टोरेज > स्टोरेज > फ़ाइलें टैब पर जाएं. डिफ़ॉल्ट बकेट कब बनाई गई है, इस आधार पर बकेट का नाम इनमें से किसी एक फ़ॉर्मैट में होगा:

  • PROJECT_ID.firebasestorage.app (डिफ़ॉल्ट बकेट, सितंबर 2024 को या उसके बाद बनाई गई)
  • PROJECT_ID.appspot.com (पुरानी डिफ़ॉल्ट बकेट, सितंबर 2024 से पहले बनाई गई)

एसडीके को शुरू करने के लिए, कोड का यह स्निपेट इस्तेमाल करें:

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");

इंपोर्ट की गई बकेट के साथ काम करना

Firebase में किसी मौजूदा Cloud Storage बकेट को इंपोर्ट करते समय, आपको 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");

अगले चरण