कभी-कभी प्लान के मुताबिक काम नहीं होता और गड़बड़ी आ जाती है.
अगर आपको कोई गड़बड़ी दिखती है, तो उसे देखें और जानें कि गड़बड़ी के मैसेज में क्या लिखा है.
यहां कस्टम गड़बड़ी हैंडलर लागू करने का तरीका दिखाया गया है. यह तरीका,
गड़बड़ी के कोड और गड़बड़ी के मैसेज की जांच करता है जो Cloud Storage से मिले हैं. इस तरह के गड़बड़ी
हैंडलर को Cloud Storage API में इस्तेमाल किए जाने वाले अलग-अलग ऑब्जेक्ट में जोड़ा जा सकता है. जैसे, UploadTask और FileDownloadTask).
Kotlin
internal inner class MyFailureListener : OnFailureListener { override fun onFailure(exception: Exception) { val errorCode = (exception as StorageException).errorCode val errorMessage = exception.message // test the errorCode and errorMessage, and handle accordingly } }
Java
class MyFailureListener implements OnFailureListener { @Override public void onFailure(@NonNull Exception exception) { int errorCode = ((StorageException) exception).getErrorCode(); String errorMessage = exception.getMessage(); // test the errorCode and errorMessage, and handle accordingly } }
अगर आपने गड़बड़ी का मैसेज देख लिया है और Cloud Storage Security Rules के मुताबिक, आपको वह कार्रवाई करने की अनुमति है, लेकिन फिर भी गड़बड़ी ठीक नहीं हो रही है, तो सहायता पाने के लिए हमारे सहायता पेज पर जाएं और हमें बताएं कि हम आपकी मदद कैसे कर सकते हैं.
गड़बड़ी के मैसेज को मैनेज करना
गड़बड़ियां आने की कई वजहें हो सकती हैं. जैसे, फ़ाइल का मौजूद न होना, उपयोगकर्ता के पास चुनी गई फ़ाइल को ऐक्सेस करने की अनुमति न होना या उपयोगकर्ता का फ़ाइल अपलोड रद्द कर देना.
समस्या की सही पहचान करने और गड़बड़ी को ठीक करने के लिए, यहां उन सभी गड़बड़ियों की पूरी सूची दी गई है जो हमारे क्लाइंट को मिल सकती हैं. साथ ही, यह भी बताया गया है कि ये गड़बड़ियां क्यों आ सकती हैं. इस टेबल में गड़बड़ी के कोड, StorageException क्लास में इंटिजर कॉन्स्टैंट के तौर पर तय किए गए हैं.
| कोड | वजह |
|---|---|
ERROR_UNKNOWN |
कोई ऐसी गड़बड़ी हुई जिसकी जानकारी नहीं है. |
ERROR_OBJECT_NOT_FOUND |
बताए गए रेफ़रंस पर कोई ऑब्जेक्ट मौजूद नहीं है. |
ERROR_BUCKET_NOT_FOUND |
Cloud Storage के लिए कोई बकेट कॉन्फ़िगर नहीं की गई है |
ERROR_PROJECT_NOT_FOUND |
Cloud Storage के लिए कोई प्रोजेक्ट कॉन्फ़िगर नहीं किया गया है |
ERROR_QUOTA_EXCEEDED |
आपके Cloud Storage बकेट का कोटा पूरा हो गया है. अगर आपने स्पार्क प्लान लिया है, तो 'इस्तेमाल के हिसाब से शुल्क चुकाएं' वाले ब्लेज़ प्लान पर अपग्रेड करने के बारे में सोचें. अगर आपने पहले से ही ब्लेज़ प्लान लिया है, तो Firebase की सहायता टीम से संपर्क करें. अहम जानकारी: |
ERROR_NOT_AUTHENTICATED |
उपयोगकर्ता की पहचान की पुष्टि नहीं हुई है. कृपया पहचान की पुष्टि करें और फिर से कोशिश करें. |
ERROR_NOT_AUTHORIZED |
उपयोगकर्ता के पास अनुरोध की गई कार्रवाई करने की अनुमति नहीं है. यह पक्का करने के लिए कि आपके नियम सही हैं, उन्हें देखें. |
ERROR_RETRY_LIMIT_EXCEEDED |
किसी कार्रवाई (अपलोड, डाउनलोड, मिटाना वगैरह) के लिए तय की गई समयसीमा खत्म हो गई है. फिर से कोशिश करें. |
ERROR_INVALID_CHECKSUM |
क्लाइंट पर मौजूद फ़ाइल का चेकसम, सर्वर से मिली फ़ाइल के चेकसम से मेल नहीं खाता. फिर से अपलोड करें. |
ERROR_CANCELED |
उपयोगकर्ता ने कार्रवाई रद्द कर दी है. |
इसके अलावा, अमान्य यूआरएल के साथ getReferenceFromUrl() को कॉल करने की कोशिश करने पर, IllegalArgumentException दिखेगा. ऊपर दिए गए तरीके का आर्ग्युमेंट, gs://bucket/object या
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> फ़ॉर्मैट में होना चाहिए