Catch up on highlights from Firebase at Google I/O 2023. Learn more

वेब पर क्लाउड स्टोरेज के साथ शुरुआत करें

फायरबेस के लिए क्लाउड स्टोरेज आपको उपयोगकर्ता द्वारा उत्पन्न सामग्री, जैसे चित्र और वीडियो को अपलोड और साझा करने देता है, जो आपको अपने ऐप्स में समृद्ध मीडिया सामग्री बनाने की अनुमति देता है। आपका डेटा Google क्लाउड स्टोरेज बकेट में संग्रहीत है - उच्च उपलब्धता और वैश्विक अतिरेक के साथ एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान। फायरबेस के लिए क्लाउड स्टोरेज आपको इन फ़ाइलों को सीधे मोबाइल उपकरणों और वेब ब्राउज़र से सुरक्षित रूप से अपलोड करने देता है, धब्बेदार नेटवर्क को आसानी से संभालता है।

आवश्यक शर्तें

यदि आपके पास पहले से नहीं है, तो Firebase JS SDK इंस्टॉल करें और Firebase को इनिशियलाइज़ करें

एक डिफ़ॉल्ट क्लाउड स्टोरेज बकेट बनाएं

  1. Firebase कंसोल के नेविगेशन फलक से, संग्रहण चुनें, फिर प्रारंभ करें क्लिक करें.

  2. सुरक्षा नियमों का उपयोग करके अपने क्लाउड स्टोरेज डेटा को सुरक्षित करने के बारे में संदेश की समीक्षा करें। विकास के दौरान, सार्वजनिक पहुंच के लिए अपने नियम स्थापित करने पर विचार करें।

  3. अपने डिफ़ॉल्ट क्लाउड स्टोरेज बकेट के लिए एक स्थान चुनें।

    • यह स्थान सेटिंग आपके प्रोजेक्ट का डिफ़ॉल्ट Google क्लाउड प्लेटफ़ॉर्म (GCP) संसाधन स्थान है। ध्यान दें कि इस स्थान का उपयोग आपके प्रोजेक्ट में जीसीपी सेवाओं के लिए किया जाएगा, जिसके लिए स्थान सेटिंग की आवश्यकता होती है, विशेष रूप से, आपके क्लाउड फायरस्टोर डेटाबेस और आपके ऐप इंजन ऐप (जो क्लाउड शेड्यूलर का उपयोग करने पर आवश्यक है)।

    • यदि आप किसी स्थान का चयन करने में सक्षम नहीं हैं, तो आपके प्रोजेक्ट में पहले से ही एक डिफ़ॉल्ट GCP संसाधन स्थान है। यह या तो प्रोजेक्ट निर्माण के दौरान या किसी अन्य सेवा को सेट करते समय सेट किया गया था जिसके लिए स्थान सेटिंग की आवश्यकता होती है।

    यदि आप ब्लेज़ योजना पर हैं, तो आप अनेक बकेट बना सकते हैं, प्रत्येक बकेट अपने स्वयं के स्थान के साथ।

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

सार्वजनिक पहुँच सेट करें

फायरबेस के लिए क्लाउड स्टोरेज एक घोषणात्मक नियम भाषा प्रदान करता है जो आपको परिभाषित करने की अनुमति देता है कि आपके डेटा को कैसे संरचित किया जाना चाहिए, इसे कैसे अनुक्रमित किया जाना चाहिए, और कब आपके डेटा को पढ़ा और लिखा जा सकता है। डिफ़ॉल्ट रूप से, क्लाउड स्टोरेज तक पढ़ने और लिखने की पहुंच प्रतिबंधित है, इसलिए केवल प्रमाणित उपयोगकर्ता ही डेटा पढ़ या लिख ​​सकते हैं। प्रमाणीकरण स्थापित किए बिना आरंभ करने के लिए, आप सार्वजनिक पहुंच के लिए अपने नियमों को कॉन्फ़िगर कर सकते हैं।

यह क्लाउड स्टोरेज को किसी के लिए भी खोल देता है, यहां तक ​​कि वे लोग भी जो आपके ऐप का उपयोग नहीं करते हैं, इसलिए प्रमाणीकरण सेट करते समय अपने क्लाउड स्टोरेज को फिर से प्रतिबंधित करना सुनिश्चित करें।

अपने बकेट URL को अपने ऐप में जोड़ें

यदि यह पहले से शामिल नहीं है, तो आपको अपने Firebase ऐप के कॉन्फ़िगरेशन ऑब्जेक्ट में अपना क्लाउड स्टोरेज बकेट URL जोड़ना होगा।

  1. Firebase कंसोल में अपने स्टोरेज डैशबोर्ड पर जाएं।

  2. फ़ाइल टैब पर क्लिक करें, फिर फ़ाइल व्यूअर के शीर्षलेख में देखें।

  3. URL को अपने क्लिपबोर्ड पर कॉपी करें। यह आमतौर पर project-id .appspot.com रूप में होता है।

  4. अपने ऐप में अपने firebaseConfig ऑब्जेक्ट में, अपने बकेट URL के साथ storageBucket विशेषता जोड़ें:

वेब मॉड्यूलर एपीआई

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

वेब नेमस्पेस्ड एपीआई

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

आप क्लाउड स्टोरेज का उपयोग शुरू करने के लिए तैयार हैं!

अगला कदम? क्लाउड स्टोरेज संदर्भ बनाने का तरीका जानें।

अग्रिम सेटअप

कुछ ऐसे उपयोग मामले हैं जिनके लिए अतिरिक्त सेटअप की आवश्यकता होती है:

यदि आपके पास दुनिया भर में उपयोगकर्ता हैं, और उनके पास अपना डेटा संग्रहीत करना चाहते हैं, तो पहला उपयोग मामला एकदम सही है। उदाहरण के लिए, आप विलंबता को कम करने के लिए उन क्षेत्रों में उपयोगकर्ताओं के लिए डेटा संग्रहीत करने के लिए यूएस, यूरोप और एशिया में बकेट बना सकते हैं।

यदि आपके पास अलग-अलग एक्सेस पैटर्न वाले डेटा हैं, तो दूसरा उपयोग मामला मददगार है। उदाहरण के लिए: आप एक बहु-क्षेत्रीय या क्षेत्रीय बकेट सेट कर सकते हैं जो चित्रों या अन्य बार-बार एक्सेस की जाने वाली सामग्री को संग्रहीत करता है, और एक नियरलाइन या कोल्डलाइन बकेट जो उपयोगकर्ता बैकअप या अन्य बार-बार एक्सेस की जाने वाली सामग्री को संग्रहीत करता है।

इनमें से किसी भी उपयोग मामले में, आप एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करना चाहेंगे।

यदि आप Google ड्राइव जैसे ऐप का निर्माण कर रहे हैं, तो तीसरा उपयोग मामला उपयोगी है, जो उपयोगकर्ताओं को एकाधिक लॉग इन खातों (उदाहरण के लिए, एक व्यक्तिगत खाता और एक कार्य खाता) की अनुमति देता है। आप प्रत्येक अतिरिक्त खाते को प्रमाणित करने के लिए एक कस्टम फायरबेस ऐप इंस्टेंस का उपयोग कर सकते हैं।

एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करें

अगर आप ऊपर दिए गए डिफ़ॉल्ट के अलावा क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, या एक ही ऐप में कई क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, तो आप firebase.storage का एक उदाहरण बना सकते हैं जो आपकी कस्टम बकेट का संदर्भ देता है:

Web modular API

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 namespaced API

// Get a non-default Storage bucket
var storage = firebase.app().storage("gs://my-custom-bucket");

आयातित बाल्टियों के साथ काम करना

Firebase में मौजूदा क्लाउड स्टोरेज बकेट आयात करते समय, आपको Google क्लाउड SDK में शामिल gsutil टूल का उपयोग करके Firebase को इन फ़ाइलों तक पहुंचने की क्षमता प्रदान करनी होगी:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

जैसा कि Firebase प्रोजेक्ट के परिचय में बताया गया है, आप अपना प्रोजेक्ट नंबर ढूंढ सकते हैं।

यह नए बनाए गए बकेट को प्रभावित नहीं करता है, क्योंकि उनके पास Firebase को अनुमति देने के लिए डिफ़ॉल्ट एक्सेस कंट्रोल सेट है। यह एक अस्थायी उपाय है, और भविष्य में स्वचालित रूप से किया जाएगा।

एक कस्टम फायरबेस ऐप का उपयोग करें

अगर आप कस्टम firebase.app.App का उपयोग करके एक अधिक जटिल ऐप बना रहे हैं, तो आप उस ऐप के साथ आरंभ किए गए firebase.storage.Storage का उदाहरण बना सकते हैं:

Web modular API

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 namespaced API

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

अगले कदम