Cloud Storage রেফারেন্সে ফাইল আপলোড করার পরে, আপনি ফাইল মেটাডেটা পেতে ও আপডেট করতে পারবেন, যেমন কন্টেন্টের ধরন আপডেট করা। এছাড়াও, ফাইল অতিরিক্ত ফাইল মেটাডেটা সহ কাস্টম কী/ভ্যালু পেয়ার স্টোর করতে পারে।
ফাইলের মেটাডেটা পাওয়া
ফাইল মেটাডেটাতে Name, SizeBytes এবং
ContentType (প্রায়শই MIME ধরন হিসেবে উল্লেখ করা হয়) সহ কিছু সাধারণ প্রপার্টি থাকে, এছাড়াও কিছু
কম সাধারণ প্রপার্টি যেমন ContentDisposition এবং CreationTimeMillis থাকে। GetMetadataAsync মেথড ব্যবহার করে
Cloud Storage রেফারেন্স থেকে এই
মেটাডেটা পাওয়া যেতে পারে।
// Create reference to the file whose metadata we want to retrieve StorageReference forestRef = storageRef.Child("images/forest.jpg"); // Get metadata properties forestRef.GetMetadataAsync().ContinueWithOnMainThread(task => { if (!task.IsFaulted && !task.IsCanceled) { StorageMetadata meta = task.Result; // do stuff with meta } });
ফাইল মেটাডেটা আপডেট করা
ফাইল আপলোড করা সম্পূর্ণ হওয়ার পরে আপনি যেকোনও সময় ফাইল মেটাডেটা আপডেট করতে পারবেন।
এর জন্য UpdateMetadataAsync পদ্ধতি ব্যবহার করুন, যা একটি MetadataChange অবজেক্ট নেয়।
কোন কোন প্রপার্টি আপডেট করা যাবে সেই বিষয়ে আরও তথ্য পেতে, সম্পূর্ণ তালিকা দেখুন। মেটাডেটায় উল্লেখ করা প্রপার্টিগুলিই শুধু
আপডেট করা হয়, বাকি সব অপরিবর্তিত থাকে।
// Create reference to the file whose metadata we want to change StorageReference forestRef = storageRef.Child("images/forest.jpg"); // Create file metadata to update var newMetadata = new MetadataChange(); newMetadata.CacheControl = "public,max-age=300"; newMetadata.ContentType = "image/jpeg"; // Update metadata properties forestRef.UpdateMetadataAsync(newMetadata).ContinueWithOnMainThread(task => { if (!task.IsFaulted && !task.IsCanceled) { // access the updated meta data StorageMetadata meta = task.Result; } });
আপনি খালি স্ট্রিং পাস করে লেখার উপযুক্ত মেটাডেটা প্রপার্টি মুছে দিতে পারবেন:
// Create file metadata to update var newMetadata = new MetadataChange(); newMetadata.ContentType = ""; // Update metadata properties forestRef.UpdateMetadataAsync(newMetadata).ContinueWithOnMainThread(task => { if (!task.IsFaulted && !task.IsCanceled) { StorageMetadata meta = task.Result; // meta.ContentType should be an empty string now } });
সমস্যা ম্যানেজ করা
মেটাডেটা পাওয়া বা আপডেট করার সময় বিভিন্ন কারণে সমস্যা হতে পারে, এর মধ্যে ফাইলটি না থাকা অথবা ব্যবহারকারীর কাছে কাঙ্খিত ফাইল অ্যাক্সেস করার অনুমতি না থাকা অন্তর্ভুক্ত। সমস্যা সম্পর্কে আরও তথ্য, ডকুমেন্টেশনের সমস্যা সমাধান করুন বিভাগে পাওয়া যাবে।
কাস্টম মেটাডেটা
আপনি Dictionary<string, string> হিসেবে কাস্টম মেটাডেটা নির্দিষ্ট করতে পারবেন।
var newMetadata = new MetadataChange { CustomMetadata = new Dictionary<string, string> { {"location", "Yosemite, CA, USA"}, {"activity", "Hiking"} } }; // UpdateMetadataAsync
আপনি কাস্টম মেটাডেটায় প্রতিটি ফাইলের জন্য অ্যাপ-নির্দিষ্ট ডেটা স্টোর করতে পারবেন, তবে এই ধরনের ডেটা স্টোর ও সিঙ্ক্রোনাইজ করার জন্য আমরা ডেটাবেস (যেমন, Firebase Realtime Database) ব্যবহার করার জন্য অত্যন্ত সুপারিশ করি।
ফাইলের মেটাডেটা প্রপার্টি
কোনও ফাইলের মেটাডেটা প্রপার্টির সম্পূর্ণ তালিকা নিচে দেওয়া হল:
| প্রপার্টি | প্রকার | MetadataChange-এ পরিবর্তনযোগ্য |
|---|---|---|
Bucket |
string |
নরওয়ে (KO) |
Generation |
string |
নরওয়ে (KO) |
MetadataGeneration |
string |
নরওয়ে (KO) |
Path |
string |
নরওয়ে (KO) |
Name |
string |
নরওয়ে (KO) |
SizeBytes |
long |
নরওয়ে (KO) |
CreationTimeMillis |
long |
নরওয়ে (KO) |
UpdatedTimeMillis |
long |
নরওয়ে (KO) |
CacheControl |
string |
হ্যাঁ |
ContentDisposition |
string |
হ্যাঁ |
ContentEncoding |
string |
হ্যাঁ |
ContentLanguage |
string |
হ্যাঁ |
ContentType |
string |
হ্যাঁ |
DownloadUrl |
Uri |
নরওয়ে (KO) |
DownloadUrls |
IList<Uri> |
নরওয়ে (KO) |
CustomMetadataKeys |
IEnumerable<string> |
হ্যাঁ |
পরবর্তী ধাপ
ফাইল আপলোড, ডাউনলোড ও আপডেট করা গুরুত্বপূর্ণ, তবে সেগুলি সরাতে পারার বিষয়টিও গুরুত্বপূর্ণ। Cloud Storage থেকে কীভাবে ফাইল মুছতে হয় তা জানুন।