Cloud Storage for Firebase की मदद से, यूज़र जनरेटेड कॉन्टेंट (यूजीसी) अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे आपको अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाने में मदद मिलती है. आपका डेटा, Google Cloud Storage बकेट में सेव किया जाता है. यह एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज सलूशन है. इसमें डेटा को ज़्यादा अपटाइम और ग्लोबल रिडंडेंसी के साथ सेव किया जाता है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे तौर पर मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, नेटवर्क की समस्या होने पर भी आसानी से काम किया जा सकता है.
शुरू करने से पहले
Cloud Storage का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
अपने C++ प्रोजेक्ट को रजिस्टर करें और Firebase का इस्तेमाल करने के लिए इसे कॉन्फ़िगर करें.
अगर आपके C++ प्रोजेक्ट में पहले से ही Firebase का इस्तेमाल किया जा रहा है, तो यह पहले से ही Firebase के लिए रजिस्टर और कॉन्फ़िगर किया गया है.
अपने C++ प्रोजेक्ट में Firebase C++ SDK जोड़ें.
ध्यान दें कि अपने C++ प्रोजेक्ट में Firebase जोड़ने के लिए, आपको Firebase कंसोल और अपने खुले हुए C++ प्रोजेक्ट, दोनों में टास्क पूरे करने होंगे. उदाहरण के लिए, आपको कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें डाउनलोड करनी होंगी. इसके बाद, उन्हें अपने C++ प्रोजेक्ट में ले जाना होगा.
यह भी पक्का करें कि आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले Blaze प्लान पर हो. Cloud Storage for Firebase का इस्तेमाल करने के लिए, यह ज़रूरी है. अगर आपने हाल ही में Firebase का इस्तेमाल शुरू किया है और Google Cloud, तो देखें कि आपको 300 डॉलर का मुफ़्त में आज़माने का क्रेडिट मिल सकता है या नहीं.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं.
अगर आपका प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले Blaze प्लान पर नहीं है, तो आपको अपने प्रोजेक्ट को अपग्रेड करने के लिए कहा जाएगा.
शुरू करें पर क्लिक करें.
अपने डिफ़ॉल्ट बकेट के लिए जगह चुनें.
Google Cloud Storage के लिए,
,US-CENTRAL1 , औरUS-EAST1 में मौजूद बकेट, "हमेशा के लिए बिना शुल्क" टियर का फ़ायदा पा सकती हैं. अन्य सभी जगहों पर बकेट, Google Cloud Storage कीमत और इस्तेमाल के हिसाब से तय किए जाते हैं.US-WEST1अगर आपको बाद में कई बकेट बनाने हैं, तो हर बकेट के लिए अलग जगह चुनी जा सकती है.
अपने डिफ़ॉल्ट बकेट के लिए Firebase Security Rules को कॉन्फ़िगर करें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए नियम सेट अप करें.
हो गया पर क्लिक करें.
अब आपको Firebase console में बकेट दिखेगा. इसके लिए, डेटाबेस और स्टोरेज > स्टोरेज > फ़ाइलें टैब पर जाएं.
आपके डिफ़ॉल्ट बकेट का नाम PROJECT_ID.firebasestorage.app
सार्वजनिक ऐक्सेस सेट अप करना
Cloud Storage for Firebase में नियमों को तय करने वाली भाषा दी गई है. इससे यह तय किया जा सकता है कि आपके डेटा को कैसे स्ट्रक्चर किया जाए, उसे कैसे इंडेक्स किया जाए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, Cloud Storage को पढ़ने और उसमें बदलाव करने का ऐक्सेस सीमित होता है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा को पढ़ या उसमें बदलाव कर सकते हैं. Authentication को सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस के लिए अपने नियम कॉन्फ़िगर करें.
इससे Cloud Storage को कोई भी ऐक्सेस कर सकता है. यहां तक कि वे लोग भी जो आपका ऐप्लिकेशन इस्तेमाल नहीं करते. इसलिए, पुष्टि करने की सुविधा सेट अप करते समय, Cloud Storage के ऐक्सेस को फिर से सीमित करें.
firebase::App बनाना और उसे शुरू करना
Cloud Storage को ऐक्सेस करने से पहले, आपको firebase::App बनाना और उसे शुरू करना होगा.
firebase::App के लिए हेडर फ़ाइल शामिल करें:
#include "firebase/app.h"
Android
firebase::App बनाएं. इसके लिए, JNI एनवायरमेंट और Java ऐक्टिविटी के jobject रेफ़रंस को आर्ग्युमेंट के तौर पर पास करें:
app = App::Create(AppOptions(), jni_env, activity);
iOS+
firebase::App बनाएं:
app = App::Create(AppOptions());
firebase::storage::Storage क्लास को ऐक्सेस करना
firebase::storage::Storage क्लास, Cloud Storage C++ SDK टूल के लिए एंट्री पॉइंट है.
Storage* storage = Storage::GetInstance(app);
अब Cloud Storage का इस्तेमाल किया जा सकता है!
अगला चरण क्या है? Cloud Storage रेफ़रंस बनाने का तरीका जानें.
ऐडवांस सेटअप
यहां कुछ ऐसे उदाहरण दिए गए हैं जिनके लिए अतिरिक्त सेटअप की ज़रूरत होती है:
- एक से ज़्यादा भौगोलिक क्षेत्रों में Cloud Storage बकेट का इस्तेमाल करना
- अलग-अलग स्टोरेज क्लास में Cloud Storage बकेट का इस्तेमाल करना
- एक ही ऐप्लिकेशन में पुष्टि किए गए कई उपयोगकर्ताओं के साथ Cloud Storage बकेट का इस्तेमाल करना
अगर आपके उपयोगकर्ता दुनिया भर में हैं और आपको उनका डेटा उनके आस-पास के सर्वर में सेव करना है, तो पहले इस्तेमाल का उदाहरण आपके लिए सबसे सही है. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाए जा सकते हैं. इससे इन देशों/इलाकों में मौजूद उपयोगकर्ताओं का डेटा स्टोर किया जा सकेगा और लेटेन्सी कम हो जाएगी.
अगर आपके पास अलग-अलग ऐक्सेस पैटर्न वाला डेटा है, तो दूसरा इस्तेमाल का उदाहरण आपके लिए मददगार है. उदाहरण के लिए: एक मल्टी-रीजनल या रीजनल बकेट सेट अप की जा सकती है. इसमें फ़ोटो या अक्सर ऐक्सेस किया जाने वाला अन्य कॉन्टेंट सेव किया जाता है. इसके अलावा, एक नियरलाइन या कोल्डलाइन बकेट सेट अप की जा सकती है. इसमें उपयोगकर्ता के बैकअप या कभी-कभी ऐक्सेस किया जाने वाला अन्य कॉन्टेंट सेव किया जाता है.
इन दोनों ही मामलों में, आपको एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना होगा.
तीसरा इस्तेमाल का तरीका तब काम आता है, जब आपको Google Drive जैसा कोई ऐप्लिकेशन बनाना हो. इस ऐप्लिकेशन में, उपयोगकर्ता एक साथ कई खातों में लॉग इन कर सकते हैं. उदाहरण के लिए, निजी खाता और ऑफ़िस से जुड़ा खाता. हर अतिरिक्त खाते की पुष्टि करने के लिए, कस्टम Firebase ऐप्लिकेशन इंस्टेंस का इस्तेमाल किया जा सकता है.
एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना
अगर आपको ऊपर दिए गए डिफ़ॉल्ट बकेट के अलावा किसी अन्य Cloud Storage बकेट का इस्तेमाल करना है
या एक ही ऐप्लिकेशन में कई Cloud Storage बकेट का इस्तेमाल करना है, तो firebase::storage::Storage का
एक ऐसा इंस्टेंस बनाया जा सकता है जो आपकी कस्टम बकेट को रेफ़रंस करता हो:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("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 का इस्तेमाल करके कोई ज़्यादा जटिल ऐप्लिकेशन बनाया जा रहा है, तो उस ऐप्लिकेशन के साथ शुरू किया गया 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 Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट की सूचनाएं सेट अप करें.
- Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको यह पता चलेगा कि आपके प्रोजेक्ट में, Firebase की अलग-अलग सेवाओं का इस्तेमाल किस तरह किया जा रहा है. इस्तेमाल से जुड़ी ज़्यादा जानकारी के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.
- Firebase लॉन्च करने से जुड़ी चेकलिस्ट देखें.