Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

צור הפניה לאחסון ענן באמצעות אחסון ענן לאחדות

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

אם השתמשת מסד Firebase זמן האמת , נתיבים אלו צריכים להיראות מאוד מוכרים לך. עם זאת, נתוני הקובץ מאוחסן אחסון בענן לא במסד הנתונים בזמן אמת.

צור הפניה

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

הפניות נוצרות מן Firebase.Storage.FirebaseStorage השירות על אפליקצית Firebase שלך על ידי קריאת GetReferenceFromUrl() השיטה והעברה ב- URL של הטופס gs://<your-cloud-storage-bucket> . אתה יכול למצוא את כתובת האתר של הקטע אחסון של קונסולת Firebase .

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

// Create a storage reference from our storage service
StorageReference storageRef =
    storage.GetReferenceFromUrl("gs://<your-cloud-storage-bucket>");

אתה יכול ליצור הפניה למיקום נמוך בעץ, למשל 'images/space.jpg' , על ידי שימוש child השיטה על פנייה קיימת.

// Create a child reference
// imagesRef now points to "images"
StorageReference imagesRef = storageRef.Child("images");

// Child references can also take paths delimited by '/' such as:
// "images/space.jpg".
StorageReference spaceRef = imagesRef.Child("space.jpg");
// spaceRef now points to "images/space.jpg"
// imagesRef still points to "images"

// This is equivalent to creating the full referenced
StorageReference spaceRefFull = storage.GetReferenceFromUrl(
    "gs://<your-cloud-storage-bucket>/images/space.jpg");

אתה יכול גם להשתמש Parent ואת Root שיטות לניווט בהיררכי הקובץ שלנו. Parent מנווט רמה אחת למעלה, ואילו Root מנווט כל הדרך לפסגה.

// Parent allows us to move to the parent of a reference
// imagesRef now points to 'images'
StorageReference imagesRef = spaceRef.Parent;

// Root allows us to move all the way back to the top of our bucket
// rootRef now points to the root
StorageReference rootRef = spaceRef.Root;

Child , Parent , ואת Root יכולים להיות כבול יחד מספר פעמים, כמו כול מחזיר הפניה. החריג הוא Parent של Root , אשר הוא נכה StorageReference .

// References can be chained together multiple times
// earthRef points to "images/earth.jpg"
StorageReference earthRef =
    spaceRef.Parent.Child("earth.jpg");

// nullRef is null since the parent of root is an invalid StorageReference
StorageReference nullRef = spaceRef.Root.Parent;

שיטות הפניה

אתה יכול לבדוק אזכור כדי להבין טוב יותר את הקבצים הם מצביעים באמצעות Path , Name , ו Bucket מאפיינים. מאפיינים אלה מקבלים את הנתיב המלא, השם והדלי של הקובץ.

// Reference's path is: "images/space.jpg"
// This is analogous to a file path on disk
string path = spaceRef.Path;

// Reference's name is the last segment of the full path: "space.jpg"
// This is analogous to the file name
string name = spaceRef.Name;

// Reference's bucket is the name of the storage bucket where files are stored
string bucket = spaceRef.Bucket;

מגבלות על הפניות

נתיבי הפניה ושמות יכולים להכיל כל רצף של תווים חוקיים של Unicode, אך מגבלות מסוימות מוטלות, כולל:

  1. סה"כ אורך reference.Path חייב להיות בין 1 ו 1024 בייטים כאשר UTF-8 מקודד.
  2. ללא תווי החזרה לכרכרה או הזנת שורה.
  3. הימנע משימוש # , [ , ] , * , או ? , כמו אלה אינם פועלים היטב עם כלים אחרים כגון מסד Firebase זמן אמת או gsutil .

דוגמא מלאה

FirebaseStorage storage = FirebaseStorage.DefaultInstance;

// Points to the root reference
StorageReference storageRef =
    storage.GetReferenceFromUrl("gs://<your-bucket-name>");

// Points to "images"
StorageReference imagesRef = storageRef.Child("images");

// Points to "images/space.jpg"
// Note that you can use variables to create child values
string filename = "space.jpg";
StorageReference spaceRef = imagesRef.Child(filename);

// File path is "images/space.jpg"
string path = spaceRef.Path;

// File name is "space.jpg"
string name = spaceRef.Name;

// Points to "images"
StorageReference imagesRef = spaceRef.Parent;

הצעדים הבאים

הבא, בואו ללמוד כיצד להעלות קבצים באחסון בענן.