טיפול בשגיאות ב-Cloud Storage באינטרנט

לפעמים כשמפתחים אפליקציה, דברים לא קורים כמו שתכננתם ומתרחשת שגיאה.

אם יש ספק, כדאי לבדוק את ה-error handler (או את הפונקציה catch() של Promises) ולראות מה כתוב בהודעת השגיאה.

אם בדקתם את הודעת השגיאה ויש לכם Cloud Storage Security Rules שמאפשרים את הפעולה, אבל אתם עדיין מתקשים לפתור את השגיאה, אתם יכולים להיכנס לדף התמיכה ולעדכן אותנו איך נוכל לעזור.

טיפול בהודעות שגיאה

יכולות להיות כמה סיבות לשגיאות, כולל קובץ שלא קיים, למשתמש אין הרשאה לגשת לקובץ הרצוי או שהמשתמש ביטל את העלאת הקובץ.

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

קוד סיבה
storage/unknown אירעה שגיאה לא ידועה.
storage/object-not-found לא קיים אובייקט בהפניה שצוינה.
storage/bucket-not-found לא הוגדר מאגר (bucket) עבור Cloud Storage
storage/project-not-found לא הוגדר פרויקט עבור Cloud Storage
storage/quota-exceeded חריגה מהמכסה בדלי. ‫Cloud Storage for Firebase נדרש מינוי Blaze בתשלום לפי שימוש. אם השגיאה הזו מופיעה בפרויקט בתוכנית התמחור Spark, צריך לשדרג לתוכנית התמחור Blaze כדי לקבל שוב גישה. פרטים נוספים זמינים בשאלות הנפוצות.
storage/unauthenticated המשתמש לא אומת. צריך לאמת אותו ולנסות שוב.
storage/unauthorized למשתמש אין הרשאה לבצע את הפעולה המבוקשת. צריך לבדוק את כללי האבטחה כדי לוודא שהם נכונים.
storage/retry-limit-exceeded מגבלת הזמן המקסימלית לפעולה (העלאה, הורדה, מחיקה וכו') חרגתם מהמיכסה. כדאי לנסות להעלות שוב.
storage/invalid-checksum הקובץ בלקוח לא תואם לסיכום הביקורת של הקובץ שהתקבל בשרת. כדאי לנסות להעלות שוב.
storage/canceled המשתמש ביטל את הפעולה.
storage/invalid-event-name צוין שם אירוע לא תקין. חייב להיות אחת מהאפשרויות הבאות: [`running`, `progress`, `pause`]
storage/invalid-url כתובת ה-URL שסופקה ל-refFromURL() לא תקינה. הפורמט צריך להיות: gs://bucket/object או https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=&ltTOKEN>
storage/invalid-argument הארגומנט שמועבר אל put() חייב להיות File,‏ Blob או מערך UInt8. הארגומנט שמועבר אל putString() חייב להיות מחרוזת גולמית, Base64 או Base64URL.
storage/no-default-bucket לא הוגדרה קטגוריה במאפיין storageBucket בהגדרות של Firebase.
storage/cannot-slice-blob השגיאה הזו מתרחשת בדרך כלל כשהקובץ המקומי השתנה (נמחק, נשמר מחדש וכו'). אפשר לנסות להעלות שוב אחרי שמוודאים שהקובץ לא השתנה.
storage/server-file-wrong-size הקובץ בלקוח לא תואם לגודל הקובץ שהתקבל בשרת. כדאי לנסות להעלות שוב.