Cloud Storage for Firebase की मदद से, इमेज, ऑडियो, वीडियो, और अन्य फ़ाइलों (यूज़र जनरेटेड कॉन्टेंट सहित) जैसा कॉन्टेंट अपलोड और शेयर किया जा सकता है. इससे आपको अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाने में मदद मिलती है. आपका डेटा, Google Cloud Storage बकेट में सेव किया जाता है. यह एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज सलूशन है. इसमें ज़्यादा अपटाइम और ग्लोबल रिडंडंसी की सुविधा मिलती है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क की समस्या को आसानी से हल किया जा सकता है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो पक्का करें कि आपने Flutter ऐप्लिकेशन के लिए शुरुआती निर्देश पूरे कर लिए हों. इसमें इस तरह का कॉन्टेंट शामिल है:
Firebase प्रोजेक्ट बनाना.
Flutter के लिए Firebase SDK टूल इंस्टॉल और शुरू करना.
पक्का करें कि आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर हो. Cloud Storage for Firebase का इस्तेमाल करने के लिए, यह ज़रूरी है. अगर आपने Firebase और Google Cloud का इस्तेमाल हाल ही में शुरू किया है, तो देखें कि क्या आपको मुफ़्त में आज़माने के लिए 300 डॉलर का क्रेडिट मिल सकता है.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं.
अगर आपका प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर नहीं है, तो आपको अपना प्रोजेक्ट अपग्रेड करने के लिए कहा जाएगा.
शुरू करें पर क्लिक करें.
अपनी डिफ़ॉल्ट बकेट के लिए कोई जगह चुनें.
,US-CENTRAL1 , औरUS-EAST1 में मौजूद बकेट, Google Cloud Storage के लिए "हमेशा मुफ़्त" टियर का फ़ायदा ले सकती हैं. अन्य सभी जगहों पर मौजूद बकेट के लिए, Google Cloud Storage की कीमत और इस्तेमाल की नीति लागू होती है.US-WEST1अगर आप चाहें, तो बाद में एक से ज़्यादा बकेट बनाई जा सकती हैं. हर बकेट की अपनी जगह होगी.
अपनी डिफ़ॉल्ट बकेट के लिए, Firebase Security Rules को कॉन्फ़िगर करें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए नियम सेट अप करने के बारे में सोचें.
हो गया पर क्लिक करें.
अब Firebase कंसोल में बकेट देखी जा सकती है. इसके लिए, डेटाबेस और स्टोरेज > स्टोरेज > फ़ाइलें टैब पर जाएं.
आपकी डिफ़ॉल्ट बकेट के नाम का फ़ॉर्मैट PROJECT_ID.firebasestorage.app
सार्वजनिक ऐक्सेस सेट अप करना
Firebase के लिए Cloud Storage, डिक्लेरेटिव नियमों की भाषा उपलब्ध कराता है. इससे आपको यह तय करने में मदद मिलती है कि आपके डेटा को किस तरह स्ट्रक्चर किया जाना चाहिए, उसे कैसे इंडेक्स किया जाना चाहिए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, Cloud Storage में डेटा को पढ़ने और उसमें बदलाव करने का ऐक्सेस सीमित होता है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा को पढ़ सकते हैं या उसमें बदलाव कर सकते हैं. Firebase से पुष्टि करने की सुविधा सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस के लिए अपने नियम कॉन्फ़िगर किए जा सकते हैं.
इससे Cloud Storage को कोई भी व्यक्ति ऐक्सेस कर सकता है. भले ही, वह आपके ऐप्लिकेशन का इस्तेमाल न कर रहा हो. इसलिए, पुष्टि करने की सुविधा सेट अप करते समय, Cloud Storage को फिर से ऐक्सेस करने पर पाबंदी लगाएं.
अपने ऐप्लिकेशन में Cloud Storage SDK जोड़ना
प्लग इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट के रूट से यह कमांड चलाएं:
flutter pub add firebase_storageइसके बाद, अपने Flutter ऐप्लिकेशन को फिर से बनाएं:
flutter runअपने Dart कोड में प्लगिन इंपोर्ट करें:
import 'package:firebase_storage/firebase_storage.dart';
Cloud Storage सेट अप करना
अपने Flutter प्रोजेक्ट की डायरेक्ट्री से
flutterfire configureचलाएं. इससे आपके ऐप्लिकेशन के कोड बेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (firebase_options.dart) अपडेट हो जाती है, ताकि उसमें आपकी डिफ़ॉल्ट Cloud Storage बकेट का नाम शामिल हो सके.FirebaseStorageका इंस्टेंस बनाकर, Cloud Storage बकेट को ऐक्सेस करें:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
अब Cloud Storage का इस्तेमाल किया जा सकता है!
अगला चरण क्या है? Cloud Storage रेफ़रंस बनाने का तरीका जानें.
ऐडवांस सेटअप
कुछ मामलों में, अतिरिक्त सेटअप की ज़रूरत होती है:
- एक से ज़्यादा भौगोलिक क्षेत्रों में Cloud Storage बकेट का इस्तेमाल करना
- अलग-अलग स्टोरेज क्लास में Cloud Storage बकेट का इस्तेमाल करना
- एक ही ऐप्लिकेशन में, पुष्टि किए गए कई उपयोगकर्ताओं के साथ Cloud Storage बकेट का इस्तेमाल करना
अगर आपके उपयोगकर्ता दुनिया भर में हैं और आपको उनका डेटा उनके आस-पास के सर्वर में सेव करना है, तो पहला तरीका सबसे सही है. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाई जा सकती हैं, ताकि उन इलाकों के उपयोगकर्ताओं का डेटा सेव किया जा सके. इससे इंतज़ार का समय कम हो जाता है.
अगर आपके पास अलग-अलग ऐक्सेस पैटर्न वाला डेटा है, तो दूसरा इस्तेमाल का उदाहरण मददगार साबित हो सकता है. उदाहरण के लिए: आपके पास एक मल्टी-रीजनल या रीजनल बकेट सेट अप करने का विकल्प है. इसमें ऐसी तस्वीरें या अन्य कॉन्टेंट सेव किया जाता है जिसे अक्सर ऐक्सेस किया जाता है. इसके अलावा, आपके पास नियरलाइन या कोल्डलाइन बकेट सेट अप करने का विकल्प भी है. इसमें उपयोगकर्ता का बैकअप या ऐसा कॉन्टेंट सेव किया जाता है जिसे कभी-कभार ही ऐक्सेस किया जाता है.
इनमें से किसी भी इस्तेमाल के उदाहरण में, आपको एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना होगा.
तीसरा इस्तेमाल का उदाहरण तब काम आता है, जब Google Drive जैसा कोई ऐप्लिकेशन बनाया जा रहा हो. इसमें उपयोगकर्ता एक से ज़्यादा खातों में लॉग इन कर सकते हैं. जैसे, निजी खाता और ऑफ़िस वाला खाता. हर अतिरिक्त खाते की पुष्टि करने के लिए, कस्टम Firebase ऐप्लिकेशन इंस्टेंस का इस्तेमाल किया जा सकता है.
एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना
अगर आपको ऊपर दी गई डिफ़ॉल्ट बकेट के बजाय, किसी दूसरी Cloud Storage बकेट का इस्तेमाल करना है या एक ही ऐप्लिकेशन में कई Cloud Storage बकेट इस्तेमाल करनी हैं, तो FirebaseStorage का एक इंस्टेंस बनाया जा सकता है. यह इंस्टेंस, आपकी कस्टम बकेट को रेफ़र करता है:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
इंपोर्ट की गई बकेट के साथ काम करना
किसी मौजूदा Cloud Storage बकेट को Firebase में इंपोर्ट करते समय, आपको Firebase को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, gsutil टूल का इस्तेमाल करें. यह टूल, Google Cloud SDK में शामिल होता है:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET
अपना प्रोजेक्ट नंबर ढूंढने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी लेख पढ़ें.
इससे नई बनाई गई बकेट पर कोई असर नहीं पड़ता, क्योंकि उनमें डिफ़ॉल्ट ऐक्सेस कंट्रोल सेट होता है, ताकि Firebase को अनुमति दी जा सके. यह कुछ समय के लिए है. आने वाले समय में, यह प्रोसेस अपने-आप पूरी हो जाएगी.
कस्टम Firebase ऐप्लिकेशन का इस्तेमाल करना
अगर कस्टम FirebaseApp का इस्तेमाल करके ज़्यादा जटिल ऐप्लिकेशन बनाया जा रहा है, तो उस ऐप्लिकेशन के साथ शुरू किए गए FirebaseStorage का इंस्टेंस बनाया जा सकता है:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
अगले चरण
अपना ऐप्लिकेशन लॉन्च करने के लिए तैयार हो जाएं:
App Check को चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन ही स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud कंसोल में अपने प्रोजेक्ट के लिए, बजट से जुड़ी सूचनाएं सेट अप करें.
Firebase कंसोल में इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की कई सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी. इस्तेमाल के बारे में ज़्यादा जानकारी पाने के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.
Firebase लॉन्च चेकलिस्ट देखें.