Cloud Storage রেফারেন্সে একটি ফাইল আপলোড করার পর, আপনি ফাইলের মেটাডেটাও পেতে এবং আপডেট করতে পারেন, যেমন কন্টেন্ট টাইপ আপডেট করার জন্য। ফাইলগুলিতে অতিরিক্ত মেটাডেটা সহ কাস্টম কী/ভ্যালু পেয়ারও সংরক্ষণ করা যায়।
ফাইল মেটাডেটা পান
ফাইল মেটাডেটাতে Name , SizeBytes , এবং ContentType (যা প্রায়শই MIME type নামে পরিচিত)-এর মতো সাধারণ প্রোপার্টিগুলোর পাশাপাশি 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 } });
ত্রুটিগুলি পরিচালনা করুন
মেটাডেটা সংগ্রহ বা আপডেট করার সময় বিভিন্ন কারণে ত্রুটি ঘটতে পারে, যার মধ্যে রয়েছে ফাইলটির অস্তিত্ব না থাকা, অথবা কাঙ্ক্ষিত ফাইলটি অ্যাক্সেস করার জন্য ব্যবহারকারীর অনুমতি না থাকা। ত্রুটি সম্পর্কে আরও তথ্য ডক্সের ' Handle Errors' বিভাগে পাওয়া যাবে।
কাস্টম মেটাডেটা
আপনি Dictionary<string, string> হিসেবে কাস্টম মেটাডেটা নির্দিষ্ট করতে পারেন।
var newMetadata = new MetadataChange { CustomMetadata = new Dictionary<string, string> { {"location", "Yosemite, CA, USA"}, {"activity", "Hiking"} } }; // UpdateMetadataAsync
আপনি প্রতিটি ফাইলের জন্য অ্যাপ-নির্দিষ্ট ডেটা কাস্টম মেটাডেটাতে সংরক্ষণ করতে পারেন, কিন্তু এই ধরনের ডেটা সংরক্ষণ ও সিঙ্ক্রোনাইজ করার জন্য আমরা একটি ডেটাবেস (যেমন Firebase Realtime Database ) ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করি।
ফাইল মেটাডেটা বৈশিষ্ট্য
একটি ফাইলের মেটাডেটা প্রোপার্টিগুলোর সম্পূর্ণ তালিকা নিচে দেওয়া হলো:
| সম্পত্তি | প্রকার | মেটাডেটা পরিবর্তনে পরিবর্তনযোগ্য |
|---|---|---|
Bucket | string | না |
Generation | string | না |
MetadataGeneration | string | না |
Path | string | না |
Name | string | না |
SizeBytes | long | না |
CreationTimeMillis | long | না |
UpdatedTimeMillis | long | না |
CacheControl | string | হ্যাঁ |
ContentDisposition | string | হ্যাঁ |
ContentEncoding | string | হ্যাঁ |
ContentLanguage | string | হ্যাঁ |
ContentType | string | হ্যাঁ |
DownloadUrl | Uri | না |
DownloadUrls | IList<Uri> | না |
CustomMetadataKeys | IEnumerable<string> | হ্যাঁ |
পরবর্তী পদক্ষেপ
ফাইল আপলোড, ডাউনলোড এবং আপডেট করা যেমন গুরুত্বপূর্ণ, তেমনি সেগুলো মুছে ফেলার ক্ষমতাও জরুরি। চলুন জেনে নিই Cloud Storage থেকে কীভাবে ফাইল ডিলিট করতে হয়।