C++ के लिए क्लाउड स्टोरेज के साथ शुरुआत करें

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

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

इससे पहले कि आप उपयोग कर सकते हैं क्लाउड संग्रहण , आप की जरूरत है:

  • अपना C++ प्रोजेक्ट पंजीकृत करें और इसे Firebase का उपयोग करने के लिए कॉन्फ़िगर करें।

    यदि आपका C++ प्रोजेक्ट पहले से ही Firebase का उपयोग करता है, तो यह पहले से ही पंजीकृत है और Firebase के लिए कॉन्फ़िगर किया गया है।

  • जोड़े में Firebase सी ++ एसडीके अपने सी ++ परियोजना के लिए।

नोट आपके सेल्सियस तक Firebase कहा कि ++ परियोजना में दोनों कार्यों को शामिल Firebase सांत्वना और अपने खुले सी ++ परियोजना में (उदाहरण के लिए, आप कंसोल से Firebase config फ़ाइलों को डाउनलोड, फिर उन्हें अपने सी ++ परियोजना में ले जाते हैं)।

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

  1. के नेविगेशन फलक से Firebase कंसोल , भंडारण का चयन करें, उसके बाद ही प्रारंभ करें।

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

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

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

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

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

  4. पूर्ण क्लिक करें।

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

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

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

बनाएँ और प्रारंभ firebase::App

इससे पहले कि आप क्लाउड संग्रहण का उपयोग कर सकते हैं, तो आप बना सकते हैं और प्रारंभ करने की आवश्यकता होगी firebase::App

के लिए हेडर फाइल को शामिल करें firebase::App :

#include "firebase/app.h"

एंड्रॉयड

बनाएं firebase::App , JNI पर्यावरण और एक गुजर jobject तर्कों के रूप जावा गतिविधि के संदर्भ में:

app = App::Create(AppOptions(), jni_env, activity);

आईओएस

बनाएं firebase::App :

app = App::Create(AppOptions());

एक्सेस करें firebase::storage::Storage वर्ग

firebase::storage::Storage वर्ग क्लाउड संग्रहण सी ++ SDK के लिए प्रवेश बिंदु है।

Storage* storage = Storage::GetInstance(app);

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

सबसे पहले, के बारे में जानने के जाने एक क्लाउड संग्रहण संदर्भ बनाने के

उन्नत व्यवस्था

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

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

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

इन उपयोग से किसी भी मामले में, आप करना चाहते हैं कई क्लाउड संग्रहण बाल्टी का उपयोग

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

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

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

// Get a non-default Cloud Storage bucket
Storage* storage = Storage::GetInstance("gs://my-custom-bucket");

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

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

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

आप में वर्णित के रूप अपनी परियोजना नंबर मिल सकता है 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");

अगला कदम