Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

সি ++ এর জন্য ক্লাউড স্টোরেজ দিয়ে শুরু করুন

ফায়ারবাসের জন্য ক্লাউড স্টোরেজ আপনাকে চিত্র ও ভিডিও হিসাবে ব্যবহারকারীর উত্সযুক্ত সামগ্রী আপলোড এবং ভাগ করতে দেয় যা আপনাকে আপনার অ্যাপ্লিকেশনগুলিতে সমৃদ্ধ মিডিয়া সামগ্রী তৈরি করতে দেয়। আপনার ডেটা গুগল ক্লাউড স্টোরেজ বালতিতে সংরক্ষিত রয়েছে - উচ্চ প্রাপ্যতা এবং বিশ্বব্যাপী অতিরিক্ত অপ্রয়োজনীয়তা সহ একটি এক্সাবাইট স্কেল অবজেক্ট স্টোরেজ সমাধান। ফায়ারবেসের জন্য ক্লাউড স্টোরেজ আপনাকে সহজেই স্পটটি নেটওয়ার্কগুলি পরিচালনা করে, মোবাইল ডিভাইস এবং ওয়েব ব্রাউজারগুলি থেকে এই ফাইলগুলি নিরাপদে আপলোড করতে দেয়।

তুমি শুরু করার আগে

ক্লাউড স্টোরেজ ব্যবহার করার আগে, আপনার প্রয়োজন:

  • আপনার সি ++ প্রকল্পটি নিবন্ধ করুন এবং ফায়ারবেস ব্যবহারের জন্য এটি কনফিগার করুন।

    যদি আপনার সি ++ প্রকল্পটি ইতিমধ্যে ফায়ারবেস ব্যবহার করে তবে এটি ইতিমধ্যে নিবন্ধভুক্ত এবং ফায়ারবেসের জন্য কনফিগার করা হয়েছে।

  • আপনার সি ++ প্রকল্পে ফায়ারবেস সি ++ এসডিকে যুক্ত করুন

নোট করুন যে আপনার সি ++ প্রকল্পে ফায়ারবেস যুক্ত করা ফায়ারবেস কনসোল এবং আপনার উন্মুক্ত সি ++ প্রকল্পের উভয়ই কাজের সাথে জড়িত (উদাহরণস্বরূপ, আপনি কনসোল থেকে ফায়ারবেস কনফিগারেশন ফাইলগুলি ডাউনলোড করুন, তারপরে সেগুলি আপনার সি ++ প্রকল্পে সরিয়ে নিন)।

একটি ডিফল্ট ক্লাউড স্টোরেজ বালতি তৈরি করুন

  1. ফায়ারবেস কনসোলের নেভিগেশন ফলক থেকে, স্টোরেজ নির্বাচন করুন, তারপরে শুরু করুন ক্লিক করুন

  2. সুরক্ষা বিধি ব্যবহার করে আপনার ক্লাউড স্টোরেজ ডেটা সুরক্ষিত করা সম্পর্কে বার্তাটি পর্যালোচনা করুন। বিকাশের সময়, জনসাধারণের অ্যাক্সেসের জন্য আপনার বিধিগুলি স্থাপনের বিষয়টি বিবেচনা করুন।

  3. আপনার ডিফল্ট ক্লাউড স্টোরেজ বালতির জন্য একটি অবস্থান নির্বাচন করুন।

    • এই অবস্থান সেটিংটি আপনার প্রকল্পের ডিফল্ট গুগল ক্লাউড প্ল্যাটফর্ম (জিসিপি) রিসোর্সের অবস্থান । নোট করুন যে এই অবস্থানটি আপনার প্রকল্পের জিসিপি পরিষেবাদির জন্য ব্যবহার করা হবে যার জন্য একটি অবস্থান সেটিং প্রয়োজন, বিশেষত, আপনার ক্লাউড ফায়ারস্টোর ডাটাবেস এবং আপনার অ্যাপ ইঞ্জিন অ্যাপ্লিকেশন (যা আপনি ক্লাউড শিডিয়ুলার ব্যবহার করলে প্রয়োজনীয়))

    • আপনি যদি কোনও অবস্থান নির্বাচন করতে সক্ষম না হন তবে আপনার প্রকল্পের ইতিমধ্যে একটি ডিফল্ট জিসিপি রিসোর্স অবস্থান রয়েছে। এটি হয় প্রকল্প তৈরির সময় বা অন্য কোনও পরিষেবা সেট আপ করার সময় সেট করা হয়েছিল যার জন্য কোনও অবস্থান সেটিং প্রয়োজন।

    আপনি যদি ব্লেজ পরিকল্পনায় থাকেন তবে আপনি একেকটি বালতি তৈরি করতে পারেন, যার প্রত্যেকটির নিজস্ব অবস্থান রয়েছে

  4. সম্পন্ন ক্লিক করুন।

জনসাধারণের অ্যাক্সেস সেট আপ করুন

ফায়ারবাসের জন্য ক্লাউড স্টোরেজ একটি ঘোষণামূলক নিয়মের ভাষা সরবরাহ করে যা আপনাকে আপনার ডেটা কীভাবে কাঠামোগত করা উচিত, কীভাবে এটি সূচী করা উচিত এবং কখন আপনার ডেটা থেকে পড়া এবং এতে লিখিত হতে পারে তা নির্ধারণ করতে দেয়। ডিফল্টরূপে, ক্লাউড স্টোরেজটিতে পড়তে এবং লেখার অ্যাক্সেস সীমাবদ্ধ থাকে সুতরাং কেবলমাত্র অনুমোদিত ব্যবহারকারীরা ডেটা পড়তে বা লিখতে পারবেন। প্রমাণীকরণ স্থাপন না করেই শুরু করতে, আপনি সর্বজনীন অ্যাক্সেসের জন্য আপনার বিধিগুলি কনফিগার করতে পারেন।

এটি ক্লাউড স্টোরেজ কারও জন্য উন্মুক্ত করে তোলে, এমনকি আপনার অ্যাপ্লিকেশন ব্যবহার করছে না এমন লোকেরাও, তাই আপনি যখন প্রমাণীকরণ সেট আপ করবেন তখন আপনার ক্লাউড স্টোরেজটি আবার সীমাবদ্ধ করবেন না sure

firebase::App তৈরি এবং প্রারম্ভিক করুন

ক্লাউড স্টোরেজ অ্যাক্সেস করার আগে আপনাকে firebase::App তৈরি এবং শুরু করতে হবে।

firebase::App জন্য শিরোলেখ ফাইলটি অন্তর্ভুক্ত করুন:

#include "firebase/app.h"

অ্যান্ড্রয়েড

যুক্তি হিসাবে জাভা ক্রিয়াকলাপের jobject পরিবেশ এবং একটি jobject রেফারেন্সটি পাস করে jobject firebase::App তৈরি করুন:

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

আইওএস

firebase::App তৈরি করুন:

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

firebase::storage::Storage অ্যাক্সেস firebase::storage::Storage ক্লাস

firebase::storage::Storage ক্লাসটি ক্লাউড স্টোরেজ সি ++ এসডিকে প্রবেশের পয়েন্ট।

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

আপনি ক্লাউড স্টোরেজ ব্যবহার শুরু করতে প্রস্তুত!

প্রথমে আসুন কীভাবে ক্লাউড স্টোরেজ রেফারেন্স তৈরি করবেন তা শিখি।

উন্নত সেটআপ

কয়েকটি ব্যবহারের ক্ষেত্রে অতিরিক্ত অতিরিক্ত সেটআপ প্রয়োজন:

আপনার যদি বিশ্বজুড়ে ব্যবহারকারী থাকে এবং আপনি তাদের ডেটা তাদের কাছে সঞ্চয় করতে চান তবে প্রথম ব্যবহারের ক্ষেত্রেটি উপযুক্ত। উদাহরণস্বরূপ, আপনি মার্কিন যুক্তরাষ্ট্র, ইউরোপ এবং এশিয়াতে বালতি তৈরি করতে পারেন যাতে এই অঞ্চলগুলিতে ব্যবহারকারীদের জন্য ডেটা সঞ্চয় করতে বিলম্ব হয় না।

দ্বিতীয় অ্যাক্সেস কেস সহায়ক যদি আপনার কাছে বিভিন্ন অ্যাক্সেস প্যাটার্ন সহ ডেটা থাকে। উদাহরণস্বরূপ: আপনি একটি বহু-আঞ্চলিক বা আঞ্চলিক বালতি সেট করতে পারেন যা ছবি বা অন্যান্য ঘন ঘন অ্যাক্সেস করা সামগ্রী এবং একটি নিকটরেখা বা কোল্ডলাইন বালতি সেট করে যা ব্যবহারকারীর ব্যাকআপ বা অন্যান্য অ্যাক্সেসযুক্ত সামগ্রী সংরক্ষণ করে।

এগুলির যে কোনও একটি ক্ষেত্রে আপনি একাধিক ক্লাউড স্টোরেজ বালতি ব্যবহার করতে চান।

গুগল ড্রাইভের মতো আপনি যদি অ্যাপ্লিকেশন তৈরি করছেন তবে তৃতীয় ব্যবহারের ক্ষেত্রে দরকারী যদি ব্যবহারকারীদের একাধিক অ্যাকাউন্টে প্রবেশ করতে দেয় (উদাহরণস্বরূপ, একটি ব্যক্তিগত অ্যাকাউন্ট এবং একটি কাজের অ্যাকাউন্ট)। প্রতিটি অতিরিক্ত অ্যাকাউন্ট প্রমাণীকরণের জন্য আপনি একটি কাস্টম ফায়ারবেস অ্যাপ্লিকেশন ব্যবহার করতে পারেন

একাধিক ক্লাউড স্টোরেজ বালতি ব্যবহার করুন

আপনি যদি উপরে প্রদত্ত ডিফল্ট ব্যতীত ক্লাউড স্টোরেজ বালতিটি ব্যবহার করতে চান, বা একক অ্যাপ্লিকেশনে একাধিক ক্লাউড স্টোরেজ বালতি ব্যবহার করতে চান তবে আপনি firebase::storage::Storage আপনার সঞ্চয় কাস্টমটিকে উল্লেখ করে এমন firebase::storage::Storage তৈরি করতে পারেন:

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

আমদানি করা বালতি নিয়ে কাজ করা

ফায়ারবেসে কোনও বিদ্যমান ক্লাউড স্টোরেজ বালতি আমদানি করার সময়, আপনাকে gsutil গুগল ক্লাউড এসডিকে অন্তর্ভুক্ত 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 এর একটি উদাহরণ তৈরি করতে পারেন: সেই অ্যাপ্লিকেশন দিয়ে 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");

পরবর্তী পদক্ষেপ