Cloud Storage for Firebase আপনাকে ব্যবহারকারীর তৈরি কন্টেন্ট, যেমন ছবি এবং ভিডিও আপলোড এবং শেয়ার করতে দেয়, যা আপনাকে আপনার অ্যাপগুলিতে রিচ মিডিয়া কন্টেন্ট তৈরি করতে দেয়। আপনার ডেটা একটি Google Cloud Storage বাকেটে সংরক্ষণ করা হয় — উচ্চ প্রাপ্যতা এবং বিশ্বব্যাপী রিডানডেন্সি সহ একটি এক্সাবাইট স্কেল অবজেক্ট স্টোরেজ সমাধান। Cloud Storage for Firebase আপনাকে মোবাইল ডিভাইস এবং ওয়েব ব্রাউজার থেকে সরাসরি এই ফাইলগুলি নিরাপদে আপলোড করতে দেয়, সহজেই স্পটি নেটওয়ার্ক পরিচালনা করে।
শুরু করার আগে
- যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েড অ্যাপের জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করেছেন। এর মধ্যে রয়েছে: - একটি ফায়ারবেস প্রকল্প তৈরি করা। 
- প্রকল্পের সাথে আপনার অ্যান্ড্রয়েড অ্যাপ নিবন্ধন করা, এবং আপনার অ্যাপে Firebase নির্ভরতা, Google পরিষেবা প্লাগইন এবং আপনার Firebase কনফিগারেশন ফাইল ( - google-services.json) যোগ করে আপনার অ্যাপটিকে Firebase-এর সাথে সংযুক্ত করা।
 
- নিশ্চিত করুন যে আপনার Firebase প্রকল্পটি Pay-as-you-go Blaze মূল্য পরিকল্পনায় আছে, যা ২০২৪ সালের অক্টোবরে শুরু হওয়া একটি প্রয়োজনীয়তা (আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী দেখুন)। আপনি যদি Firebase এবং Google Cloud-এ নতুন হন, তাহলে আপনি $300 ক্রেডিটের জন্য যোগ্য কিনা তা পরীক্ষা করুন। 
একটি ডিফল্ট Cloud Storage বাকেট তৈরি করুন
- Firebase কনসোলের নেভিগেশন প্যান থেকে, Storage নির্বাচন করুন। - যদি আপনার প্রকল্পটি এখনও পে-অ্যাজ-ইউ-গো ব্লেজ প্রাইসিং প্ল্যানে না থাকে, তাহলে আপনাকে আপনার প্রকল্পটি আপগ্রেড করার জন্য অনুরোধ করা হবে। 
- শুরু করুন ক্লিক করুন। 
- আপনার ডিফল্ট বাকেটের জন্য একটি অবস্থান নির্বাচন করুন। - বালতিতে - US-CENTRAL1,- US-EAST1, এবং- US-WEST1Google Cloud Storage জন্য "সর্বদা বিনামূল্যে" স্তরের সুবিধা নিতে পারে। অন্যান্য সমস্ত স্থানে বাকেটগুলি Google Cloud Storage মূল্য এবং ব্যবহার অনুসরণ করে।
- আপনি যদি চান, আপনি পরে একাধিক বাকেট তৈরি করতে পারেন, প্রতিটির নিজস্ব অবস্থান থাকবে। 
 
- আপনার ডিফল্ট বাকেটের জন্য Firebase Security Rules কনফিগার করুন। ডেভেলপমেন্টের সময়, সর্বজনীন অ্যাক্সেসের জন্য আপনার নিয়ম সেট আপ করার কথা বিবেচনা করুন। 
- সম্পন্ন ক্লিক করুন। 
 আপনি এখন Firebase কনসোলের Cloud Storage Files ট্যাবে বাকেটটি দেখতে পারবেন। আপনার ডিফল্ট বাকেট নামের ফর্ম্যাট হলPROJECT_ID .firebasestorage.app .
সর্বজনীন অ্যাক্সেস সেট আপ করুন
Cloud Storage for Firebase একটি ঘোষণামূলক নিয়ম ভাষা প্রদান করে যা আপনাকে আপনার ডেটা কীভাবে গঠন করা উচিত, কীভাবে এটি সূচী করা উচিত এবং কখন আপনার ডেটা থেকে পড়া এবং লেখা যেতে পারে তা নির্ধারণ করতে দেয়। ডিফল্টরূপে, Cloud Storage পড়ার এবং লেখার অ্যাক্সেস সীমাবদ্ধ, তাই শুধুমাত্র প্রমাণিত ব্যবহারকারীরা ডেটা পড়তে বা লিখতে পারেন। Authentication সেট আপ না করেই শুরু করতে, আপনি সর্বজনীন অ্যাক্সেসের জন্য আপনার নিয়মগুলি কনফিগার করতে পারেন।
এর ফলে Cloud Storage সকলের জন্য উন্মুক্ত হয়ে যায়, এমনকি যারা আপনার অ্যাপ ব্যবহার করছেন না তারাও, তাই প্রমাণীকরণ সেট আপ করার সময় আপনার Cloud Storage আবার সীমাবদ্ধ করতে ভুলবেন না।
আপনার অ্যাপে Cloud Storage SDK যোগ করুন
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত<project>/<app-module>/build.gradle.kts অথবা <project>/<app-module>/build.gradle ), অ্যান্ড্রয়েডের জন্য Cloud Storage লাইব্রেরির জন্য নির্ভরতা যোগ করুন। লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে আমরা Firebase Android BoM ব্যবহার করার পরামর্শ দিই।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.4.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সর্বদা Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করেই Firebase লাইব্রেরি নির্ভরতা যোগ করুন
যদি আপনি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করার জন্য BoM ব্যবহার করার পরামর্শ দিচ্ছি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:22.0.1") }
আপনার অ্যাপে Cloud Storage সেট আপ করুন
- আপনার অ্যাপের কোডবেসে থাকা Firebase কনফিগারেশন ফাইল ( - google-services.json) আপনার ডিফল্ট Cloud Storage বাকেটের নাম দিয়ে আপডেট করা আছে কিনা তা নিশ্চিত করুন।- আপনার অ্যাপের মডিউল (অ্যাপ-লেভেল) ডিরেক্টরিতে বিদ্যমান - google-services.jsonফাইলটি প্রতিস্থাপন করতে এই ডাউনলোড করা কনফিগারেশন ফাইলটি ব্যবহার করুন।- নিশ্চিত করুন যে আপনার অ্যাপে শুধুমাত্র এই সাম্প্রতিকতম ডাউনলোড করা কনফিগারেশন ফাইলটি আছে এবং এর ফাইলের নাম অতিরিক্ত অক্ষর দিয়ে যুক্ত করা নেই, যেমন - (2)।
 
- FirebaseStorageএর একটি ইনস্ট্যান্স তৈরি করে আপনার Cloud Storage বাকেট অ্যাক্সেস করুন:- Kotlin- storage = Firebase.storage - // Alternatively, explicitly specify the bucket name URL. // val storage = Firebase.storage("gs://BUCKET_NAME") - Java- FirebaseStorage storage = FirebaseStorage.getInstance(); - // Alternatively, explicitly specify the bucket name URL. // FirebaseStorage storage = FirebaseStorage.getInstance("gs://BUCKET_NAME"); 
আপনি Cloud Storage ব্যবহার শুরু করতে প্রস্তুত!
পরবর্তী পদক্ষেপ? Cloud Storage রেফারেন্স তৈরি করতে শিখুন।
উন্নত সেটআপ
কিছু ব্যবহারের ক্ষেত্রে অতিরিক্ত সেটআপের প্রয়োজন হয়:
- একাধিক ভৌগোলিক অঞ্চলে Cloud Storage বাকেট ব্যবহার করা
- বিভিন্ন স্টোরেজ ক্লাসে Cloud Storage বাকেট ব্যবহার করা
- একই অ্যাপে একাধিক প্রমাণিত ব্যবহারকারীর সাথে Cloud Storage বাকেট ব্যবহার করা
যদি আপনার বিশ্বজুড়ে ব্যবহারকারী থাকে এবং আপনি তাদের কাছাকাছি তাদের ডেটা সংরক্ষণ করতে চান, তাহলে প্রথম ব্যবহারের ক্ষেত্রে এটি উপযুক্ত। উদাহরণস্বরূপ, আপনি মার্কিন যুক্তরাষ্ট্র, ইউরোপ এবং এশিয়ায় বাকেট তৈরি করতে পারেন যেখানে ল্যাটেন্সি কমাতে সেই অঞ্চলের ব্যবহারকারীদের জন্য ডেটা সংরক্ষণ করা যাবে।
যদি আপনার কাছে বিভিন্ন অ্যাক্সেস প্যাটার্নের ডেটা থাকে তবে দ্বিতীয় ব্যবহারের ক্ষেত্রে এটি সহায়ক। উদাহরণস্বরূপ: আপনি একটি মাল্টি-রিজিওনাল বা আঞ্চলিক বাকেট সেট আপ করতে পারেন যা ছবি বা অন্যান্য ঘন ঘন অ্যাক্সেস করা সামগ্রী সংরক্ষণ করে, এবং একটি নিয়ারলাইন বা কোল্ডলাইন বাকেট যা ব্যবহারকারীর ব্যাকআপ বা অন্যান্য কদাচিৎ অ্যাক্সেস করা সামগ্রী সংরক্ষণ করে।
এই ব্যবহারের যেকোনো ক্ষেত্রে, আপনাকে একাধিক Cloud Storage বাকেট ব্যবহার করতে হবে।
তৃতীয় ব্যবহারের ধরণটি কার্যকর যদি আপনি একটি অ্যাপ তৈরি করেন, যেমন গুগল ড্রাইভ, যা ব্যবহারকারীদের একাধিক লগ ইন অ্যাকাউন্ট (উদাহরণস্বরূপ, একটি ব্যক্তিগত অ্যাকাউন্ট এবং একটি কাজের অ্যাকাউন্ট) রাখতে দেয়। প্রতিটি অতিরিক্ত অ্যাকাউন্ট প্রমাণীকরণের জন্য আপনি একটি কাস্টম ফায়ারবেস অ্যাপ ইনস্ট্যান্স ব্যবহার করতে পারেন।
একাধিক Cloud Storage বাকেট ব্যবহার করুন
 আপনি যদি এই নির্দেশিকায় পূর্বে বর্ণিত ডিফল্ট বাকেট ছাড়া অন্য কোনও Cloud Storage বাকেট ব্যবহার করতে চান, অথবা একটি অ্যাপে একাধিক Cloud Storage বাকেট ব্যবহার করতে চান, তাহলে আপনি FirebaseStorage এর একটি উদাহরণ তৈরি করতে পারেন যা আপনার কাস্টম বাকেটকে উল্লেখ করে: 
Kotlin
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");
আমদানি করা বালতি নিয়ে কাজ করা
 Firebase-এ বিদ্যমান Cloud Storage বাকেট আমদানি করার সময়, আপনাকে Google Cloud SDK- তে অন্তর্ভুক্ত gsutil টুল ব্যবহার করে Firebase-কে এই ফাইলগুলি অ্যাক্সেস করার ক্ষমতা প্রদান করতে হবে:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
ফায়ারবেস প্রজেক্টের ভূমিকায় বর্ণিত পদ্ধতিতে আপনি আপনার প্রজেক্ট নম্বরটি খুঁজে পেতে পারেন।
এটি নতুন তৈরি বাকেটগুলিকে প্রভাবিত করে না, কারণ এগুলিতে ফায়ারবেসকে অনুমতি দেওয়ার জন্য ডিফল্ট অ্যাক্সেস নিয়ন্ত্রণ সেট থাকে। এটি একটি অস্থায়ী ব্যবস্থা, এবং ভবিষ্যতে স্বয়ংক্রিয়ভাবে সম্পাদিত হবে।
একটি কাস্টম ফায়ারবেস অ্যাপ ব্যবহার করুন
 যদি আপনি একটি কাস্টম FirebaseApp ব্যবহার করে আরও জটিল অ্যাপ তৈরি করেন, তাহলে আপনি সেই অ্যাপ দিয়ে FirebaseStorage শুরু করার একটি উদাহরণ তৈরি করতে পারেন: 
Kotlin
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
পরবর্তী পদক্ষেপ
- আপনার অ্যাপ চালু করার জন্য প্রস্তুত হোন: - শুধুমাত্র আপনার অ্যাপগুলি যাতে আপনার স্টোরেজ বাকেট অ্যাক্সেস করতে পারে তা নিশ্চিত করতে App Check সক্ষম করুন। 
- Google Cloud কনসোলে আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করুন। 
- একাধিক Firebase পরিষেবা জুড়ে আপনার প্রকল্পের ব্যবহারের সামগ্রিক চিত্র পেতে Firebase কনসোলে ব্যবহার এবং বিলিং ড্যাশবোর্ড পর্যবেক্ষণ করুন। আরও বিস্তারিত ব্যবহারের তথ্যের জন্য আপনি Cloud Storage ব্যবহার ড্যাশবোর্ডেও যেতে পারেন। 
- ফায়ারবেস লঞ্চ চেকলিস্ট পর্যালোচনা করুন।