Cloud Storage for Firebase আপনাকে ব্যবহারকারীর তৈরি করা কন্টেন্ট আপলোড ও শেয়ার করতে দেয়, যেমন ছবি ও ভিডিও, যা আপনাকে নিজের অ্যাপে রিচ মিডিয়া কন্টেন্ট তৈরি করতে দেয়। আপনার ডেটা Google Cloud Storage বাকেটে স্টোর করা হয় — এটি এক্সাবাইট স্কেল অবজেক্ট স্টোরেজ সলিউশন যা অত্যন্ত সহজলভ্য এবং বিশ্বব্যাপী রিডানডেন্সি সহ উপলভ্য। Cloud Storage for Firebase আপনাকে সরাসরি মোবাইল ডিভাইস এবং ওয়েব ব্রাউজার থেকে এইসব ফাইল নিরাপদে আপলোড করতে দেয়, দুর্বল নেটওয়ার্কের সমস্যাও সহজে সামলায়।
শুরু করার আগে
আপনি আগে থেকে করে না থাকলে, Apple প্ল্যাটফর্ম অ্যাপের জন্য শুরু করার নির্দেশিকা সম্পূর্ণ করেছেন কিনা তা নিশ্চিত করুন। এর মধ্যে পড়ে:
Firebase প্রোজেক্ট তৈরি করা।
প্রোজেক্টের সাথে আপনার Apple প্ল্যাটফর্ম অ্যাপ রেজিস্টার করা, এবং Firebase লাইব্রেরি ও আপনার Firebase কনফিগারেশন ফাইল (
GoogleService-Info.plist) আপনার অ্যাপে যোগ করে Firebase-এর সাথে আপনার অ্যাপ কানেক্ট করা।
আপনার Firebase প্রোজেক্ট যখন ব্যবহার করবেন তখন পেমেন্ট করুন Blaze প্রাইসিং প্ল্যান-এ আছে কিনা তা নিশ্চিত করুন, যা Cloud Storage for Firebase ব্যবহার করার জন্য প্রয়োজন। আপনি Firebase এবং Google Cloud-এ নতুন হলে, $৩০০ ফ্রি ট্রায়াল ক্রেডিট-এর জন্য উপযুক্ত কিনা তা চেক করে দেখুন।
ডিফল্ট Cloud Storage বাকেট তৈরি করুন
Firebase কনসোলে, ডেটাবেস ও স্টোরেজ > স্টোরেজ বিকল্পে যান।
আপনার প্রোজেক্ট এখনও 'যখন ব্যবহার করবেন তখন পেমেন্ট করুন' Blaze প্রাইসিং প্ল্যানে না থাকলে, আপনাকে প্রোজেক্ট আপগ্রেড করার জন্য প্রম্পট করা হবে।
শুরু করুন বিকল্পে ক্লিক করুন।
আপনার ডিফল্ট বাকেটের জন্য একটি লোকেশন বেছে নিন।
,US-CENTRAL1 এবংUS-EAST1 -এ বাকেট Google Cloud Storage-এর জন্য "সবসময় ফ্রি" টিয়ার-এর সুবিধা নিতে পারে। অন্যান্য সব লোকেশনে বাকেট Google Cloud Storage মূল্য ও ব্যবহার অনুসরণ করে।US-WEST1আপনি চাইলে, পরে একাধিক বাকেট তৈরি করতে পারবেন, যার প্রত্যেকটির নিজস্ব লোকেশন থাকবে।
আপনার ডিফল্ট বাকেটের জন্য Firebase Security Rules কনফিগার করুন। ডেভেলপমেন্টের সময়, সর্বজনীন অ্যাক্সেসের জন্য আপনার নিয়ম সেট-আপ করার কথা বিবেচনা করুন।
হয়ে গেছে বিকল্পে ক্লিক করুন।
আপনি এখন Firebase কনসোলে বাকেট দেখতে পারবেন (ডেটাবেস ও স্টোরেজ > স্টোরেজ >
ফাইল ট্যাব-এ নেভিগেট করুন)।
আপনার ডিফল্ট বাকেট নামের ফর্ম্যাট হল PROJECT_ID.firebasestorage.app
সর্বজনীন অ্যাক্সেস সেট-আপ করুন
Cloud Storage for Firebase একটি ডিক্লারেটিভ রুল ল্যাঙ্গুয়েজ প্রদান করে যা আপনাকে আপনার ডেটা কীভাবে স্ট্রাকচার করা উচিত, কীভাবে এটি ইন্ডেক্স করা উচিত এবং কখন আপনার ডেটা পড়া এবং লেখা যেতে পারে তা নির্ধারণ করতে দেয়। ডিফল্ট হিসেবে, Cloud Storage-এ রিড ও রাইট অ্যাক্সেস সীমাবদ্ধ করা থাকে যাতে শুধু যাচাই করা ব্যবহারকারীরাই ডেটা রিড বা রাইট করতে পারেন। Authentication সেট-আপ না করে শুরু করতে, আপনি সর্বজনীন অ্যাক্সেসের জন্য আপনার নিয়ম কনফিগার করতে পারেন।
এর ফলে, আপনার অ্যাপ ব্যবহার করেন না এমন ব্যক্তি সহ যে কেউ Cloud Storage অ্যাক্সেস করতে পারবেন, তাই যাচাইকরণ সেট-আপ করার সময় আপনার Cloud Storage আবার সীমাবদ্ধ করতে ভুলবেন না।
আপনার অ্যাপে Cloud Storage যোগ করুন
Firebase ডিপেন্ডেন্সি ইনস্টল ও ম্যানেজ করতে Swift প্যাকেজ ম্যানেজার ব্যবহার করুন।
- Xcode-এ, আপনার অ্যাপ প্রোজেক্ট খোলা রেখে, ফাইল > প্যাকেজ যোগ করুন বিকল্পে নেভিগেট করুন।
- প্রম্পট করা হলে, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরি যোগ করুন:
- Cloud Storage লাইব্রেরি বেছে নিন।
- আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে
-ObjCফ্ল্যাগ যোগ করুন। - হয়ে গেলে, Xcode অটোমেটিক ব্যাকগ্রাউন্ডে আপনার ডিপেন্ডেন্সি সমাধান ও ডাউনলোড করা শুরু করবে।
https://github.com/firebase/firebase-ios-sdk.git
আপনার অ্যাপে Cloud Storage সেট-আপ করুন
কোনও Firebase রেফারেন্স তৈরি বা ব্যবহার করার আগে Firebase শুরু করুন।
আপনি যদি আগে থেকেই অন্য Firebase প্রোডাক্ট সেট-আপ করে থাকেন, তাহলে আপনি হয়ত এটি আগেই করে ফেলেছেন, তবে আপনাকে নিশ্চিত করতে হবে যে আপনি ইম্পোর্টের তালিকায়
FirebaseStorageলাইব্রেরি যোগ করেছেন।আপনার
UIApplicationDelegate-এFirebaseCoreমডিউল ওFirebaseStorageমডিউল ইমপোর্ট করুন। এছাড়াও, আমরাFirebaseAuthযোগ করার জন্য সাজেস্ট করি।SwiftUI
import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Swift
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Objective-C
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...আপনার অ্যাপ ডেলিগেটের
application(_:didFinishLaunchingWithOptions:)পদ্ধতিতে একটিFirebaseAppশেয়ার করা ইনস্ট্যান্স কনফিগার করুন:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()Swift
// Use Firebase library to configure APIs FirebaseApp.configure()Objective-C
// Use Firebase library to configure APIs [FIRApp configure];(শুধু SwiftUI) একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করুন এবং
UIApplicationDelegateAdaptorবাNSApplicationDelegateAdaptorব্যবহার করে আপনারAppস্ট্রাক্টের সাথে এটি অ্যাটাচ করুন। এছাড়াও, আপনাকে অ্যাপ ডেলিগেট সুইজলিং বন্ধ করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।SwiftUI
@main struct YourApp: App { // Register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
ডিফল্ট Firebase অ্যাপ ব্যবহার করে Cloud Storage পরিষেবার রেফারেন্স পান।
আপনার অ্যাপের কোডবেসে Firebase কনফিগারেশন ফাইল (
GoogleService-Info.plist) আপনার ডিফল্ট Cloud Storage বাকেটের নাম দিয়ে আপডেট করা হয়েছে কিনা তা নিশ্চিত করুন।আপনার Xcode প্রোজেক্টের রুটে আগে থেকে থাকা
GoogleService-Info.plistফাইল বদলে দিতে ডাউনলোড করা এই কনফিগারেশন ফাইল ব্যবহার করুন। প্রম্পট করা হলে, সব টার্গেটে কনফিগারেশন ফাইল যোগ করার বিকল্প বেছে নিন।আপনার অ্যাপে শুধু এই সবচেয়ে সাম্প্রতিক ডাউনলোড করা কনফিগারেশন ফাইলটিই আছে কিনা এবং এর ফাইলের নামের সাথে
(2)-এর মতো অতিরিক্ত অক্ষর যোগ করা নেই কিনা তা নিশ্চিত করুন।
ডিফল্ট Firebase অ্যাপ ব্যবহার করে Cloud Storage পরিষেবার রেফারেন্স পান:
Swift
let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C
FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
আপনি Cloud Storage ব্যবহার শুরু করার জন্য রেডি!
পরবর্তী ধাপ? কীভাবে Cloud Storage রেফারেন্স তৈরি করবেন তা জানুন।
উন্নত সেট-আপ
কিছু ব্যবহারের ক্ষেত্রে অতিরিক্ত সেট-আপের প্রয়োজন হয়:
- একাধিক ভৌগোলিক অঞ্চলে Cloud Storageটি বাকেট ব্যবহার করা হচ্ছে
- বিভিন্ন স্টোরেজ ক্লাসে Cloud Storageটি বাকেট ব্যবহার করা হচ্ছে
- একই অ্যাপে একাধিক যাচাই করা ব্যবহারকারীর সাথে Cloud Storageটি বাকেট ব্যবহার করা হচ্ছে
আপনার ব্যবহারকারী সারা বিশ্ব জুড়ে থাকলে এবং তাদের ডেটা তাদের কাছাকাছি স্টোর করতে চাইলে, প্রথম ব্যবহারের কেসটি উপযুক্ত। যেমন, আপনি মার্কিন যুক্তরাষ্ট্র, ইউরোপ ও এশিয়ায় বাকেট তৈরি করতে পারেন যাতে সেইসব অঞ্চলের ব্যবহারকারীদের ডেটা স্টোর করা যায় এবং লেটেন্সি কমানো যায়।
আপনার কাছে বিভিন্ন অ্যাক্সেস প্যাটার্ন সহ ডেটা থাকলে, দ্বিতীয় ব্যবহারের ক্ষেত্রে তা সহায়ক হয়। যেমন: আপনি মাল্টি-রিজিয়নাল বা রিজিয়নাল বাকেট সেট-আপ করতে পারেন যা ছবি বা ঘন ঘন অ্যাক্সেস করা অন্যান্য কন্টেন্ট স্টোর করে এবং নিয়ারলাইন বা কোল্ডলাইন বাকেট যা ব্যবহারকারীর ব্যাক-আপ বা অন্যান্য কম ঘন ঘন অ্যাক্সেস করা কন্টেন্ট স্টোর করে।
এইসব ব্যবহারের ক্ষেত্রে, আপনি একাধিক Cloud Storage বাকেট ব্যবহার করতে চাইবেন।
আপনি যদি Google Drive-এর মতো কোনও অ্যাপ তৈরি করেন, তাহলে তৃতীয় ব্যবহারের কেসটি উপযোগী হবে, যা ব্যবহারকারীদের একাধিক লগ-ইন করা অ্যাকাউন্ট (যেমন, ব্যক্তিগত অ্যাকাউন্ট এবং অফিসের অ্যাকাউন্ট) রাখার সুবিধা দেয়। প্রতিটি অতিরিক্ত অ্যাকাউন্ট যাচাই করতে আপনি কাস্টম Firebase অ্যাপ ইনস্ট্যান্স ব্যবহার করতে পারবেন।
একাধিক Cloud Storage বাকেট ব্যবহার করুন
আপনি যদি উপরে দেওয়া ডিফল্ট Cloud Storage বাকেট ছাড়া অন্য কোনও বাকেট ব্যবহার করতে চান
অথবা একটি অ্যাপে একাধিক Cloud Storage বাকেট ব্যবহার করতে চান, তাহলে আপনি FIRStorage-এর একটি ইনস্ট্যান্স
তৈরি করতে পারেন যা আপনার কাস্টম বাকেটকে রেফারেন্স করে:
Swift
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
ইমপোর্ট করা বাকেট নিয়ে কাজ করা
Firebase-এ আগে থেকে থাকা Cloud Storage বাকেট ইমপোর্ট করার সময়, আপনাকে gsutil টুল ব্যবহার করে এইসব ফাইল অ্যাক্সেস করার জন্য Firebase-কে অনুমতি দিতে হবে, যা Google Cloud SDK-তে অন্তর্ভুক্ত:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
আপনি Firebase প্রোজেক্টের পরিচিতিতে যেভাবে বর্ণনা করা হয়েছে সেইভাবে আপনার প্রোজেক্ট নম্বর খুঁজে পেতে পারেন।
এটি নতুন তৈরি করা বাকেটের উপর প্রভাব ফেলে না, কারণ সেগুলিতে Firebase-কে অনুমতি দেওয়ার জন্য ডিফল্ট অ্যাক্সেস কন্ট্রোল সেট করা থাকে। এটি একটি সাময়িক ব্যবস্থা এবং ভবিষ্যতে অটোমেটিক করা হবে।
কাস্টম Firebase অ্যাপ ব্যবহার করুন
আপনি যদি কাস্টম FirebaseApp ব্যবহার করে আরও জটিল অ্যাপ তৈরি করেন, তাহলে
আপনি সেই অ্যাপের মাধ্যমে শুরু করা Storage-এর একটি ইনস্ট্যান্স তৈরি করতে পারেন:
Swift
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Objective-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
পরবর্তী ধাপ
আপনার অ্যাপ লঞ্চ করার জন্য প্রস্তুত হন:
শুধুমাত্র আপনার অ্যাপ যাতে আপনার স্টোরেজ বাকেট অ্যাক্সেস করতে পারে তা নিশ্চিত করতে সাহায্য করার জন্য App Check চালু করুন।
Google Cloud কনসোলে আপনার প্রোজেক্টের জন্য বাজেট সংক্রান্ত সতর্কতা সেট-আপ করুন।
Firebase কনসোলে ব্যবহার ও বিলিং ড্যাশবোর্ড মনিটর করুন যাতে একাধিক Firebase পরিষেবা জুড়ে আপনার প্রোজেক্টের ব্যবহারের সামগ্রিক ছবি পেতে পারেন। এছাড়াও, ব্যবহারের তথ্য আরও বিস্তারিতভাবে জানতে, আপনি Cloud Storage ব্যবহার ড্যাশবোর্ড দেখতে পারেন।
Firebase লঞ্চ চেকলিস্ট পর্যালোচনা করুন।