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

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

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

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

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

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

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

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

  1. Firebase कंसोल के नेविगेशन पैनल में, स्टोरेज चुनें.

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

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

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

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

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

अब 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 बकेट का नाम बताना होगा.

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

  • PROJECT_ID.firebasestorage.app (डिफ़ॉल्ट बकेट 30 अक्टूबर, 2024 को या उसके बाद बनाया गया
  • 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 बकेट का इस्तेमाल करना होगा.

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

अगले चरण