यूनिटी के लिए क्लाउड स्टोरेज के साथ फ़ाइल मेटाडेटा का उपयोग करें

क्लाउड स्टोरेज संदर्भ में फ़ाइल अपलोड करने के बाद, आप फ़ाइल मेटाडेटा भी प्राप्त कर सकते हैं और अपडेट कर सकते हैं, उदाहरण के लिए सामग्री प्रकार को अपडेट करने के लिए। फ़ाइलें अतिरिक्त फ़ाइल मेटाडेटा के साथ कस्टम कुंजी/मूल्य जोड़े भी संग्रहीत कर सकती हैं।

फ़ाइल मेटाडेटा प्राप्त करें

फ़ाइल मेटाडेटा में कुछ कम सामान्य गुणों जैसे कि कंटेंटडिस्पोजिशन और CreationTimeMillis के अलावा Name , SizeBytes और ContentType (अक्सर ContentDisposition प्रकार के रूप में संदर्भित) जैसे सामान्य गुण शामिल होते हैं। इस मेटाडेटा को GetMetadataAsync विधि का उपयोग करके क्लाउड स्टोरेज संदर्भ से पुनर्प्राप्त किया जा सकता है।

// 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

आप कस्टम मेटाडेटा में प्रत्येक फ़ाइल के लिए ऐप-विशिष्ट डेटा संग्रहीत कर सकते हैं, लेकिन हम इस प्रकार के डेटा को संग्रहीत और सिंक्रनाइज़ करने के लिए डेटाबेस (जैसे फ़ायरबेस रीयलटाइम डेटाबेस ) का उपयोग करने की अत्यधिक अनुशंसा करते हैं।

फ़ाइल मेटाडेटा गुण

किसी फ़ाइल पर मेटाडेटा गुणों की पूरी सूची नीचे उपलब्ध है:

संपत्ति प्रकार मेटाडेटाचेंज में संशोधन योग्य
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> हाँ

अगले कदम

फ़ाइलें अपलोड करना, डाउनलोड करना और अपडेट करना महत्वपूर्ण है, लेकिन साथ ही उन्हें हटाना भी महत्वपूर्ण है। आइए जानें क्लाउड स्टोरेज से फाइल्स को कैसे डिलीट करें