שימוש במטא-נתונים של קבצים ב-Cloud Storage ל-Unity

אחרי שמעלים קובץ לקובץ עזר של Cloud Storage אפשר גם לקבל ולעדכן את המטא-נתונים של הקובץ, לדוגמה, כדי לעדכן את סוג התוכן. אפשר גם לאחסן בקובץ צמדי מפתח/ערך בהתאמה אישית עם מטא-נתונים נוספים של הקובץ.

אחזור מטא-נתונים של קבצים

המטא-נתונים של הקבצים מכילים מאפיינים נפוצים כמו Name, SizeBytes ו- ContentType (נקרא בדרך כלל 'סוג MIME') בנוסף לכמה פחות נפוצות כמו ContentDisposition ו-CreationTimeMillis. אפשר לאחזר את המטא-נתונים האלה מהפנייה Cloud Storage באמצעות השיטה 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

אפשר לאחסן נתונים ספציפיים לאפליקציה של כל קובץ במטא-נתונים מותאמים אישית, אבל מומלץ להשתמש במסד נתונים (כמו Firebase Realtime Database) כדי לאחסן ולסנכרן את הסוג הזה של .

מאפייני מטא-נתונים של קבצים

רשימה מלאה של מאפייני המטא-נתונים בקובץ זמינה בהמשך:

נכס סוג ניתן לשינוי ב-MetadataChange
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.