फायरबेस के लिए क्लाउड स्टोरेज आपको छवियों और वीडियो जैसी उपयोगकर्ता द्वारा उत्पन्न सामग्री को अपलोड और साझा करने की सुविधा देता है, जो आपको अपने ऐप्स में समृद्ध मीडिया सामग्री बनाने की अनुमति देता है। आपका डेटा Google क्लाउड स्टोरेज बकेट में संग्रहीत है - उच्च उपलब्धता और वैश्विक अतिरेक के साथ एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान। फायरबेस के लिए क्लाउड स्टोरेज आपको इन फ़ाइलों को सीधे मोबाइल डिवाइस और वेब ब्राउज़र से सुरक्षित रूप से अपलोड करने देता है, जिससे धब्बेदार नेटवर्क को आसानी से संभाला जा सकता है।
शुरू करने से पहले
इससे पहले कि आप क्लाउड स्टोरेज का उपयोग कर सकें, आपको यह करना होगा:
अपना C++ प्रोजेक्ट पंजीकृत करें और इसे Firebase का उपयोग करने के लिए कॉन्फ़िगर करें।
यदि आपका C++ प्रोजेक्ट पहले से ही Firebase का उपयोग करता है, तो यह पहले से ही Firebase के लिए पंजीकृत और कॉन्फ़िगर किया गया है।
अपने C++ प्रोजेक्ट में Firebase C++ SDK जोड़ें।
ध्यान दें कि आपके C++ प्रोजेक्ट में Firebase जोड़ने से Firebase कंसोल और आपके खुले C++ प्रोजेक्ट दोनों में कार्य शामिल होते हैं (उदाहरण के लिए, आप कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें डाउनलोड करते हैं, फिर उन्हें अपने C++ प्रोजेक्ट में ले जाते हैं)।
एक डिफ़ॉल्ट क्लाउड स्टोरेज बकेट बनाएं
फायरबेस कंसोल के नेविगेशन फलक से, स्टोरेज चुनें, फिर आरंभ करें पर क्लिक करें।
सुरक्षा नियमों का उपयोग करके अपने क्लाउड स्टोरेज डेटा को सुरक्षित करने के बारे में संदेश की समीक्षा करें। विकास के दौरान, सार्वजनिक पहुंच के लिए अपने नियम स्थापित करने पर विचार करें।
अपने डिफ़ॉल्ट क्लाउड स्टोरेज बकेट के लिए एक स्थान चुनें।
यह स्थान सेटिंग आपके प्रोजेक्ट का डिफ़ॉल्ट Google क्लाउड प्लेटफ़ॉर्म (GCP) संसाधन स्थान है। ध्यान दें कि इस स्थान का उपयोग आपके प्रोजेक्ट में जीसीपी सेवाओं के लिए किया जाएगा जिसके लिए स्थान सेटिंग की आवश्यकता होती है, विशेष रूप से, आपके क्लाउड फायरस्टोर डेटाबेस और आपके ऐप इंजन ऐप (जो कि यदि आप क्लाउड शेड्यूलर का उपयोग करते हैं तो आवश्यक है)।
यदि आप किसी स्थान का चयन करने में सक्षम नहीं हैं, तो आपके प्रोजेक्ट में पहले से ही एक डिफ़ॉल्ट GCP संसाधन स्थान है। इसे या तो प्रोजेक्ट निर्माण के दौरान या किसी अन्य सेवा को सेट करते समय सेट किया गया था जिसके लिए स्थान सेटिंग की आवश्यकता होती है।
यदि आप ब्लेज़ योजना पर हैं, तो आप कई बकेट बना सकते हैं, जिनमें से प्रत्येक का अपना स्थान होगा ।
हो गया पर क्लिक करें.
सार्वजनिक पहुंच स्थापित करें
फायरबेस के लिए क्लाउड स्टोरेज एक घोषणात्मक नियम भाषा प्रदान करता है जो आपको यह परिभाषित करने की अनुमति देता है कि आपका डेटा कैसे संरचित किया जाना चाहिए, इसे कैसे अनुक्रमित किया जाना चाहिए, और आपका डेटा कब से पढ़ा और लिखा जा सकता है। डिफ़ॉल्ट रूप से, क्लाउड स्टोरेज तक पढ़ने और लिखने की पहुंच प्रतिबंधित है इसलिए केवल प्रमाणित उपयोगकर्ता ही डेटा पढ़ या लिख सकते हैं। प्रमाणीकरण स्थापित किए बिना आरंभ करने के लिए, आप सार्वजनिक पहुंच के लिए अपने नियमों को कॉन्फ़िगर कर सकते हैं।
यह क्लाउड स्टोरेज को किसी के लिए भी खुला बना देता है, यहां तक कि वे लोग भी जो आपके ऐप का उपयोग नहीं करते हैं, इसलिए प्रमाणीकरण सेट करते समय अपने क्लाउड स्टोरेज को फिर से प्रतिबंधित करना सुनिश्चित करें।
firebase::App
बनाएं और प्रारंभ करें
इससे पहले कि आप क्लाउड स्टोरेज तक पहुंच सकें, आपको firebase::App
बनाने और आरंभ करने की आवश्यकता होगी।
firebase::App
के लिए हेडर फ़ाइल शामिल करें:
#include "firebase/app.h"
एंड्रॉयड
firebase::App
बनाएं, जेएनआई वातावरण और जावा गतिविधि के jobject
संदर्भ को तर्क के रूप में पास करें:
app = App::Create(AppOptions(), jni_env, activity);
आईओएस+
firebase::App
:
app = App::Create(AppOptions());
firebase::storage::Storage
क्लास तक पहुंचें
firebase::storage::Storage
क्लास क्लाउड स्टोरेज सी++ एसडीके के लिए प्रवेश बिंदु है।
Storage* storage = Storage::GetInstance(app);
आप क्लाउड स्टोरेज का उपयोग शुरू करने के लिए तैयार हैं!
सबसे पहले, आइए जानें कि क्लाउड स्टोरेज संदर्भ कैसे बनाएं ।
अग्रिम सेटअप
ऐसे कुछ उपयोग मामले हैं जिनके लिए अतिरिक्त सेटअप की आवश्यकता होती है:
- अनेक भौगोलिक क्षेत्रों में क्लाउड स्टोरेज बकेट का उपयोग करना
- विभिन्न भंडारण वर्गों में क्लाउड स्टोरेज बकेट का उपयोग करना
- एक ही ऐप में एकाधिक प्रमाणित उपयोगकर्ताओं के साथ क्लाउड स्टोरेज बकेट का उपयोग करना
यदि आपके पास दुनिया भर में उपयोगकर्ता हैं, और आप अपना डेटा उनके पास संग्रहीत करना चाहते हैं, तो पहला उपयोग मामला एकदम सही है। उदाहरण के लिए, आप अमेरिका, यूरोप और एशिया में विलंबता को कम करने के लिए उन क्षेत्रों के उपयोगकर्ताओं के लिए डेटा संग्रहीत करने के लिए बकेट बना सकते हैं।
यदि आपके पास विभिन्न एक्सेस पैटर्न वाला डेटा है तो दूसरा उपयोग मामला सहायक है। उदाहरण के लिए: आप एक बहु-क्षेत्रीय या क्षेत्रीय बकेट स्थापित कर सकते हैं जो चित्र या अन्य बार-बार एक्सेस की जाने वाली सामग्री को संग्रहीत करता है, और एक नियरलाइन या कोल्डलाइन बकेट जो उपयोगकर्ता बैकअप या अन्य कभी-कभार एक्सेस की गई सामग्री को संग्रहीत करता है।
इनमें से किसी भी उपयोग के मामले में, आप एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करना चाहेंगे।
यदि आप Google ड्राइव जैसा कोई ऐप बना रहे हैं, तो तीसरा उपयोग मामला उपयोगी है, जो उपयोगकर्ताओं को एकाधिक लॉग इन खाते (उदाहरण के लिए, एक व्यक्तिगत खाता और एक कार्य खाता) की सुविधा देता है। आप प्रत्येक अतिरिक्त खाते को प्रमाणित करने के लिए एक कस्टम फायरबेस ऐप इंस्टेंस का उपयोग कर सकते हैं।
एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करें
यदि आप ऊपर दिए गए डिफ़ॉल्ट के अलावा किसी अन्य क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, या एक ही ऐप में कई क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, तो आप firebase::storage::Storage
का एक उदाहरण बना सकते हैं जो आपके कस्टम बकेट को संदर्भित करता है:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
आयातित बाल्टियों के साथ काम करना
मौजूदा क्लाउड स्टोरेज बकेट को फायरबेस में आयात करते समय, आपको फायरबेस को Google क्लाउड एसडीके में शामिल gsutil
टूल का उपयोग करके इन फ़ाइलों तक पहुंचने की क्षमता प्रदान करनी होगी:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
आप अपना प्रोजेक्ट नंबर पा सकते हैं जैसा कि फायरबेस प्रोजेक्ट्स के परिचय में बताया गया है।
यह नव निर्मित बकेट को प्रभावित नहीं करता है, क्योंकि उनमें फायरबेस को अनुमति देने के लिए डिफ़ॉल्ट एक्सेस कंट्रोल सेट होता है। यह एक अस्थायी उपाय है, और भविष्य में स्वचालित रूप से निष्पादित किया जाएगा।
एक कस्टम फायरबेस ऐप का उपयोग करें
यदि आप कस्टम firebase::App
उपयोग करके अधिक जटिल ऐप बना रहे हैं, तो आप उस ऐप के साथ प्रारंभ किए गए firebase::storage::Storage
का एक उदाहरण बना सकते हैं:
// Get the default bucket from a custom firebase::App Storage* storage = Storage::GetInstance(customApp); // Get a non-default bucket from a custom firebase::App Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");
अगले कदम
अपना ऐप लॉन्च करने की तैयारी करें:
- Google क्लाउड कंसोल में अपने प्रोजेक्ट के लिए बजट अलर्ट सेट करें।
- कई फायरबेस सेवाओं में अपने प्रोजेक्ट के उपयोग की समग्र तस्वीर प्राप्त करने के लिए फायरबेस कंसोल में उपयोग और बिलिंग डैशबोर्ड की निगरानी करें। अधिक विस्तृत उपयोग जानकारी के लिए आप क्लाउड स्टोरेज उपयोग डैशबोर्ड पर भी जा सकते हैं।
- फायरबेस लॉन्च चेकलिस्ट की समीक्षा करें।