Cloud Storage for Firebase আপনাকে ব্যবহারকারীর তৈরি কন্টেন্ট, যেমন ছবি এবং ভিডিও আপলোড এবং শেয়ার করতে দেয়, যা আপনাকে আপনার অ্যাপগুলিতে রিচ মিডিয়া কন্টেন্ট তৈরি করতে দেয়। আপনার ডেটা একটি Google Cloud Storage বাকেটে সংরক্ষণ করা হয় — উচ্চ প্রাপ্যতা এবং বিশ্বব্যাপী রিডানডেন্সি সহ একটি এক্সাবাইট স্কেল অবজেক্ট স্টোরেজ সমাধান। Cloud Storage for Firebase আপনাকে মোবাইল ডিভাইস এবং ওয়েব ব্রাউজার থেকে সরাসরি এই ফাইলগুলি নিরাপদে আপলোড করতে দেয়, সহজেই স্পটি নেটওয়ার্ক পরিচালনা করে।
শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে নিশ্চিত করুন যে আপনি ওয়েব অ্যাপের জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করেছেন। এর মধ্যে রয়েছে:
একটি ফায়ারবেস প্রকল্প তৈরি করা।
প্রকল্পের সাথে আপনার ওয়েব অ্যাপ নিবন্ধন করা, এবং আপনার অ্যাপে Firebase JS SDK এবং আপনার Firebase কনফিগারেশন অবজেক্ট যোগ করে আপনার অ্যাপটিকে 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 JS SDK যোগ করুন এবং Cloud Storage শুরু করুন।
জাভাস্ক্রিপ্ট SDK শুরু করার সময় আপনাকে অবশ্যই আপনার Cloud Storage বাকেটের নাম উল্লেখ করতে হবে।
আপনি Firebase কনসোলের Cloud Storage Files ট্যাবে আপনার Cloud Storage বাকেটের নামটি খুঁজে পেতে পারেন। আপনি কখন আপনার ডিফল্ট বাকেট তৈরি করেছেন তার উপর নির্ভর করে, বাকেটের নামটি নিম্নলিখিত ফর্ম্যাটগুলির মধ্যে একটিতে থাকবে:
PROJECT_ID .firebasestorage.app(ডিফল্ট বাকেট৩০ অক্টোবর, ২০২৪ তারিখে বা তার পরে তৈরি করা হয়েছে)PROJECT_ID .appspot.com(ডিফল্ট বাকেট৩০ অক্টোবর, ২০২৪ এর আগে তৈরি করা হয়েছিল)
নিম্নলিখিত কোড স্নিপেট ব্যবহার করে SDK আরম্ভ করুন:
Web
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: 'BUCKET_NAME' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web
import firebase from "firebase/app"; import "firebase/compat/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: 'BUCKET_NAME' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
আপনি Cloud Storage ব্যবহার শুরু করতে প্রস্তুত!
পরবর্তী পদক্ষেপ? Cloud Storage রেফারেন্স তৈরি করতে শিখুন।
উন্নত সেটআপ
কিছু ব্যবহারের ক্ষেত্রে অতিরিক্ত সেটআপের প্রয়োজন হয়:
- একাধিক ভৌগোলিক অঞ্চলে Cloud Storage বাকেট ব্যবহার করা
- বিভিন্ন স্টোরেজ ক্লাসে Cloud Storage বাকেট ব্যবহার করা
- একই অ্যাপে একাধিক প্রমাণিত ব্যবহারকারীর সাথে Cloud Storage বাকেট ব্যবহার করা
যদি আপনার বিশ্বজুড়ে ব্যবহারকারী থাকে এবং আপনি তাদের কাছাকাছি তাদের ডেটা সংরক্ষণ করতে চান, তাহলে প্রথম ব্যবহারের ক্ষেত্রে এটি উপযুক্ত। উদাহরণস্বরূপ, আপনি মার্কিন যুক্তরাষ্ট্র, ইউরোপ এবং এশিয়ায় বাকেট তৈরি করতে পারেন যেখানে ল্যাটেন্সি কমাতে সেই অঞ্চলের ব্যবহারকারীদের জন্য ডেটা সংরক্ষণ করা যাবে।
যদি আপনার কাছে বিভিন্ন অ্যাক্সেস প্যাটার্নের ডেটা থাকে তবে দ্বিতীয় ব্যবহারের ক্ষেত্রে এটি সহায়ক। উদাহরণস্বরূপ: আপনি একটি মাল্টি-রিজিওনাল বা আঞ্চলিক বাকেট সেট আপ করতে পারেন যা ছবি বা অন্যান্য ঘন ঘন অ্যাক্সেস করা সামগ্রী সংরক্ষণ করে, এবং একটি নিয়ারলাইন বা কোল্ডলাইন বাকেট যা ব্যবহারকারীর ব্যাকআপ বা অন্যান্য কদাচিৎ অ্যাক্সেস করা সামগ্রী সংরক্ষণ করে।
এই ব্যবহারের যেকোনো ক্ষেত্রে, আপনাকে একাধিক Cloud Storage বাকেট ব্যবহার করতে হবে।
তৃতীয় ব্যবহারের ধরণটি কার্যকর যদি আপনি একটি অ্যাপ তৈরি করেন, যেমন গুগল ড্রাইভ, যা ব্যবহারকারীদের একাধিক লগ ইন অ্যাকাউন্ট (উদাহরণস্বরূপ, একটি ব্যক্তিগত অ্যাকাউন্ট এবং একটি কাজের অ্যাকাউন্ট) রাখতে দেয়। প্রতিটি অতিরিক্ত অ্যাকাউন্ট প্রমাণীকরণের জন্য আপনি একটি কাস্টম ফায়ারবেস অ্যাপ ইনস্ট্যান্স ব্যবহার করতে পারেন।
একাধিক Cloud Storage বাকেট ব্যবহার করুন
আপনি যদি এই নির্দেশিকায় পূর্বে বর্ণিত ডিফল্ট বাকেট ছাড়া অন্য কোনও Cloud Storage বাকেট ব্যবহার করতে চান, অথবা একটি অ্যাপে একাধিক Cloud Storage বাকেট ব্যবহার করতে চান, তাহলে আপনি firebase.storage এর একটি উদাহরণ তৈরি করতে পারেন যা আপনার কাস্টম বাকেটকে উল্লেখ করে:
Web
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web
// Get a non-default Storage bucket var storage = firebase.app().storage("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
ফায়ারবেস প্রজেক্টের ভূমিকায় বর্ণিত পদ্ধতিতে আপনি আপনার প্রজেক্ট নম্বরটি খুঁজে পেতে পারেন।
এটি নতুন তৈরি বাকেটগুলিকে প্রভাবিত করে না, কারণ এগুলিতে ফায়ারবেসকে অনুমতি দেওয়ার জন্য ডিফল্ট অ্যাক্সেস নিয়ন্ত্রণ সেট থাকে। এটি একটি অস্থায়ী ব্যবস্থা, এবং ভবিষ্যতে স্বয়ংক্রিয়ভাবে সম্পাদিত হবে।
একটি কাস্টম ফায়ারবেস অ্যাপ ব্যবহার করুন
যদি আপনি একটি কাস্টম firebase.app.App ব্যবহার করে আরও জটিল অ্যাপ তৈরি করেন, তাহলে আপনি সেই অ্যাপ দিয়ে firebase.storage.Storage এর একটি ইনস্ট্যান্স তৈরি করতে পারেন:
Web
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
পরবর্তী পদক্ষেপ
আপনার অ্যাপ চালু করার জন্য প্রস্তুত হোন:
শুধুমাত্র আপনার অ্যাপগুলি যাতে আপনার স্টোরেজ বাকেট অ্যাক্সেস করতে পারে তা নিশ্চিত করতে App Check সক্ষম করুন।
Google Cloud কনসোলে আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করুন।
একাধিক Firebase পরিষেবা জুড়ে আপনার প্রকল্পের ব্যবহারের সামগ্রিক চিত্র পেতে Firebase কনসোলে ব্যবহার এবং বিলিং ড্যাশবোর্ড পর্যবেক্ষণ করুন। আরও বিস্তারিত ব্যবহারের তথ্যের জন্য আপনি Cloud Storage ব্যবহার ড্যাশবোর্ডেও যেতে পারেন।
ফায়ারবেস লঞ্চ চেকলিস্ট পর্যালোচনা করুন।