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

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

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

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

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

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

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

קוד סיבה
storage/unknown אירעה שגיאה לא ידועה.
storage/object-not-found לא קיים אובייקט בהפניה שצוינה.
storage/bucket-not-found לא הוגדר קטגוריה ל-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 הקובץ בלקוח לא תואם לסיכום הביקורת (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 הקובץ בלקוח לא תואם לגודל הקובץ שהתקבל בשרת. כדאי לנסות להעלות שוב.