Cloud Storage for Firebase מאפשרת להעלות ולשתף תוכן שנוצר על ידי משתמשים, כמו תמונות וסרטונים, וכך להוסיף תוכן של מדיה עשירה לאפליקציות. הנתונים מאוחסנים בקטגוריה Google Cloud Storage – פתרון לאחסון אובייקטים בקנה מידה של אקסה-בייט עם זמינות גבוהה ויתירות גלובלית. Cloud Storage for Firebase מאפשר להעלות את הקבצים האלה באופן מאובטח ישירות ממכשירים ניידים ומדפדפני אינטרנט, תוך התמודדות קלה עם רשתות לא יציבות.
דרישות מוקדמות
אם עדיין לא עשיתם זאת, צריך להתקין את Firebase JS SDK ולאתחל את Firebase.
יצירת קטגוריית Cloud Storage שמוגדרת כברירת מחדל
בחלונית הניווט של מסוף Firebase, לוחצים על Storage, ולוחצים על Get started (תחילת העבודה).
בודקים את ההודעות לגבי אבטחת הנתונים ב-Cloud Storage באמצעות כללי אבטחה. במהלך הפיתוח, כדאי לחשוב על להגדיר כללים לגישה ציבורית.
בוחרים מיקום לקטגוריית Cloud Storage שמוגדרת כברירת מחדל.
הגדרת המיקום הזו היא מיקום ברירת המחדל של המשאבים ב-Google Cloud Platform (GCP) בפרויקט. חשוב לשים לב שהמיקום הזה ישמש לשירותי GCP בפרויקט שלך. שמצריכות הגדרת מיקום, בפרט מסד הנתונים של Cloud Firestore אפליקציית App Engine (נדרש אם אתם משתמשים ב-Cloud Scheduler).
אם אין אפשרות לבחור מיקום, סימן שהפרויקט כבר פועל יש לו מיקום משאב GCP כברירת מחדל. היא הוגדרה במהלך הפרויקט או במהלך ההגדרה של שירות אחר שדורש מיקום הגדרה אישית.
אם את/ה בתוכנית Blaze, יש לך אפשרות ליצור מספר קטגוריות, לכל אחת מהן location.
לוחצים על סיום.
הגדרת גישה ציבורית
Cloud Storage for Firebase: ניסוח של כללים הצהרתי שמאפשר כדי להגדיר את המבנה של הנתונים, איך כדאי להוסיף אותם לאינדקס ומתי שניתן לקרוא מהם את הנתונים ולכתוב בהם. כברירת מחדל, יש לכם גישת קריאה וכתיבה אל השירות Cloud Storage מוגבל, כך שרק משתמשים מאומתים יכולים לקרוא או לכתוב . כדי להתחיל בלי להגדיר את Authentication, אפשר להגדיר כללים לגישה ציבורית.
הפעולה הזו גורמת לכך ש-Cloud Storage יהיה פתוח לכולם, גם לאנשים שלא משתמשים באפליקציה. לכן חשוב להגביל שוב את Cloud Storage כשמגדירים אימות.
הוספת כתובת ה-URL של הקטגוריה לאפליקציה
אם היא עדיין לא כלולה, צריך להוסיף את כתובת ה-URL של הקטגוריה Cloud Storage אל על אובייקט ההגדרה של אפליקציית Firebase.
עוברים אל לוח הבקרה של האחסון במסוף Firebase.
לוחצים על הכרטיסייה קבצים ומחפשים בכותרת של חלון הצפייה בקובץ.
מעתיקים את כתובת ה-URL ללוח. בדרך כלל בפורמט
project-id.appspot.com
.לאובייקט
firebaseConfig
באפליקציה, צריך להוסיף אתstorageBucket
עם כתובת ה-URL של הקטגוריה:
Web
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web
import firebase from "firebase/app"; import "firebase/compat/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
הכול מוכן, אפשר להתחיל להשתמש ב-Cloud Storage
מה השלב הבא? איך יוצרים Cloud Storage הפניה.
הגדרה מתקדמת
יש כמה תרחישים לדוגמה שמחייבים הגדרה נוספת:
- שימוש ב-Cloud Storage קטגוריות ב- כמה אזורים גיאוגרפיים
- שימוש ב-Cloud Storage קטגוריות ב- סוגי אחסון (storage classes) שונים
- שימוש ב-Cloud Storage בקטגוריות עם מספר משתמשים מאומתים באותה האפליקציה
התרחיש לדוגמה הראשון הוא מושלם אם יש לכם משתמשים מכל העולם ואתם רוצים לאחסן את הנתונים שלהם בקרבתם. לדוגמה, אפשר ליצור קטגוריות בארה"ב, באירופה ובאסיה כדי לאחסן נתונים עבור המשתמשים באזורים האלה כדי לקצר את זמן האחזור.
התרחיש לדוגמה השני מועיל אם יש לכם נתונים עם דפוסי גישה שונים. לדוגמה: אפשר להגדיר קטגוריה רב-אזורית או אזורית שמאחסנת תמונות או תוכן אחר שניגשים אליו לעיתים קרובות, וקטגוריה של קו ברשימת מוקדים או מוקד חירום שמאחסן גיבויים של משתמשים או תוכן אחר שניגשים אליו לעתים רחוקות.
בשני תרחישים לדוגמה האלה, כדאי להשתמש בכמה קטגוריות Cloud Storage.
התרחיש לדוגמה השלישי שימושי אם אתם מפתחים אפליקציה, כמו Google Drive, מאפשרים למשתמשים להתחבר לכמה חשבונות (לדוגמה, חשבון אישי) וחשבון לצורכי עבודה). אפשר להשתמש באפליקציית Firebase בהתאמה אישית כדי לאמת כל חשבון נוסף.
שימוש במספר קטגוריות של Cloud Storage
אם רוצים להשתמש בקטגוריה Cloud Storage שאינה ברירת המחדל שצוינה למעלה,
או להשתמש במספר קטגוריות של Cloud Storage באפליקציה אחת, אפשר ליצור מכונה
של firebase.storage
שמפנה לקטגוריה המותאמת אישית:
Web
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
עבודה עם קטגוריות שיובאו
כשמייבאים קטגוריה קיימת של Cloud Storage אל Firebase, צריך:
צריכה להעניק ל-Firebase את היכולת לגשת לקבצים האלה באמצעות
הכלי gsutil
, שכלול
Google Cloud SDK:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
אפשר למצוא את מספר הפרויקט כפי שמתואר במבוא לפרויקטים ב-Firebase.
הפעולה הזו לא משפיעה על קטגוריות חדשות שנוצרו, כי לקטגוריות האלה יש את גישת ברירת המחדל שהוגדר לאפשר ל-Firebase. זהו אמצעי זמני, והוא יחול תבוצע באופן אוטומטי בעתיד.
שימוש באפליקציית Firebase בהתאמה אישית
אם מפתחים אפליקציה מורכבת יותר באמצעות firebase.app.App
בהתאמה אישית, אפשר
יכול ליצור מופע של firebase.storage.Storage
שאותחל עם אותה אפליקציה:
Web
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
השלבים הבאים
מכינים את האפליקציה להשקת האפליקציה:
מפעילים את App Check כדי לוודא שרק האפליקציות שלכם יכולות לגשת למאגרי האחסון.
הגדרת תקציב התראות לפרויקט שלך במסוף Google Cloud.
מעקב אחר שימוש וחיוב מרכז הבקרה במסוף Firebase כדי לקבל תמונה כללית של ביצועי הפרויקט בשימוש במספר שירותי Firebase. אפשר גם להיכנס אל Cloud Storage שימוש מרכז הבקרה מידע מפורט על השימוש.
לעיין ברשימת המשימות להשקה של Firebase.