Package google.rpc

इंडेक्स

कोड

gRPC API के लिए कैननिकल गड़बड़ी कोड.

कभी-कभी एक से ज़्यादा गड़बड़ी कोड लागू हो सकते हैं. सेवाओं को गड़बड़ी का सबसे सटीक कोड दिखाना चाहिए. उदाहरण के लिए, अगर दोनों कोड लागू होते हैं, तो FAILED_PRECONDITION के बजाय OUT_OF_RANGE का इस्तेमाल करें. इसी तरह, FAILED_PRECONDITION के बजाय NOT_FOUND या ALREADY_EXISTS को प्राथमिकता दें.

Enums
OK

गड़बड़ी नहीं है; सफल होने पर दिखता है.

एचटीटीपी मैपिंग: 200 ठीक है

CANCELLED

कार्रवाई रद्द कर दी गई थी. आम तौर पर, कॉल करने वाले ने ऐसा किया था.

एचटीटीपी मैपिंग: 499 क्लाइंट ने अनुरोध की प्रोसेस के दौरान कनेक्शन बंद कर दिया

UNKNOWN

ऐसी गड़बड़ी जिसके बारे में कोई जानकारी नहीं है. उदाहरण के लिए, यह गड़बड़ी तब दिख सकती है, जब किसी दूसरे पते के स्पेस से मिली Status वैल्यू, गड़बड़ी वाले उस स्पेस से जुड़ी हो जो इस पते के स्पेस में मौजूद नहीं है. साथ ही, एपीआई से मिली ऐसी गड़बड़ियां भी इस गड़बड़ी में बदल सकती हैं जिनमें गड़बड़ी की ज़रूरत के मुताबिक जानकारी नहीं मिलती.

एचटीटीपी मैपिंग: 500 सर्वर में गड़बड़ी

INVALID_ARGUMENT

क्लाइंट ने एक अमान्य आर्ग्युमेंट दिया है. ध्यान दें कि यह FAILED_PRECONDITION से अलग है. INVALID_ARGUMENT से उन आर्ग्युमेंट के बारे में पता चलता है जो सिस्टम की स्थिति के बावजूद समस्या पैदा करते हैं. जैसे, फ़ाइल का गलत नाम.

एचटीटीपी मैपिंग: 400 गलत अनुरोध

DEADLINE_EXCEEDED

कार्रवाई पूरी होने से पहले ही समयसीमा खत्म हो गई. सिस्टम की स्थिति में बदलाव करने वाली कार्रवाइयों के लिए, यह गड़बड़ी तब भी दिख सकती है, जब कार्रवाई पूरी हो चुकी हो. उदाहरण के लिए, हो सकता है कि किसी सर्वर से जवाब मिलने में इतनी देरी हुई हो कि समयसीमा खत्म हो गई हो.

एचटीटीपी मैपिंग: 504 गेटवे टाइम आउट

NOT_FOUND

अनुरोध की गई कोई इकाई (जैसे, फ़ाइल या डायरेक्ट्री) नहीं मिली.

सर्वर डेवलपर के लिए अहम जानकारी: अगर किसी सुविधा को धीरे-धीरे रोल आउट करने या बिना दस्तावेज़ वाली अनुमति वाली सूची जैसी वजहों से, उपयोगकर्ताओं की किसी पूरी कैटगरी के लिए अनुरोध अस्वीकार किया जाता है, तो NOT_FOUND का इस्तेमाल किया जा सकता है. अगर उपयोगकर्ताओं के किसी क्लास में शामिल कुछ उपयोगकर्ताओं के लिए अनुरोध अस्वीकार किया जाता है, तो PERMISSION_DENIED का इस्तेमाल करना ज़रूरी है. जैसे, उपयोगकर्ता के आधार पर ऐक्सेस कंट्रोल.

एचटीटीपी मैपिंग: 404 नहीं मिला

ALREADY_EXISTS

क्लाइंट ने जिस इकाई (जैसे, फ़ाइल या डायरेक्ट्री) को बनाने की कोशिश की थी वह पहले से मौजूद है.

एचटीटीपी मैपिंग: 409 गड़बड़ी

PERMISSION_DENIED

कॉलर के पास बताई गई कार्रवाई करने की अनुमति नहीं है. किसी संसाधन के खत्म होने की वजह से अस्वीकार किए जाने वाले अनुरोधों के लिए, PERMISSION_DENIED का इस्तेमाल नहीं किया जाना चाहिए. इसके बजाय, उन गड़बड़ियों के लिए RESOURCE_EXHAUSTED का इस्तेमाल करें. अगर कॉलर की पहचान नहीं की जा सकती, तो PERMISSION_DENIED का इस्तेमाल नहीं किया जाना चाहिए. ऐसी गड़बड़ियों के लिए, UNAUTHENTICATED का इस्तेमाल करें. गड़बड़ी का यह कोड इस बात का मतलब नहीं है कि अनुरोध मान्य है या अनुरोध की गई इकाई मौजूद है या अन्य ज़रूरी शर्तों को पूरा करती है.

एचटीटीपी मैपिंग: 403 अनुमति नहीं है

UNAUTHENTICATED

अनुरोध में, कार्रवाई के लिए पुष्टि करने के मान्य क्रेडेंशियल नहीं हैं.

एचटीटीपी मैपिंग: 401 अनुमति नहीं है

RESOURCE_EXHAUSTED

हो सकता है कि कोई रिसॉर्स खत्म हो गया हो. जैसे, हर उपयोगकर्ता के लिए तय कोटा या पूरे फ़ाइल सिस्टम में जगह खत्म हो गई हो.

एचटीटीपी मैपिंग: 429 कई बार अनुरोध किया गया

FAILED_PRECONDITION

कार्रवाई अस्वीकार कर दी गई, क्योंकि सिस्टम उस स्थिति में नहीं है जिसमें कार्रवाई पूरी की जा सकती है. उदाहरण के लिए, मिटाई जाने वाली डायरेक्ट्री खाली नहीं है, rmdir ऑपरेशन किसी डायरेक्ट्री पर लागू नहीं किया गया है वगैरह.

सेवा लागू करने वाले लोग, FAILED_PRECONDITION, ABORTED, और UNAVAILABLE में से किसी एक को चुनने के लिए, इन दिशा-निर्देशों का इस्तेमाल कर सकते हैं: (a) अगर क्लाइंट सिर्फ़ उस कॉल को फिर से आज़मा सकता है जो पूरा नहीं हुआ, तो UNAVAILABLE का इस्तेमाल करें. (b) अगर क्लाइंट को किसी ज़्यादा लेवल पर फिर से कोशिश करनी है, तो ABORTED का इस्तेमाल करें. उदाहरण के लिए, जब क्लाइंट की ओर से तय किया गया टेस्ट-एंड-सेट पूरा नहीं होता है, तो इसका मतलब है कि क्लाइंट को रीड-बदलाव-लिखने का क्रम फिर से शुरू करना चाहिए. (c) FAILED_PRECONDITION का इस्तेमाल तब करें, जब सिस्टम की स्थिति ठीक होने तक क्लाइंट को फिर से कोशिश नहीं करनी चाहिए. उदाहरण के लिए, अगर डायरेक्ट्री में फ़ाइलें मौजूद होने की वजह से "rmdir" काम नहीं करता है, तो FAILED_PRECONDITION दिखाया जाना चाहिए. ऐसा इसलिए, क्योंकि जब तक डायरेक्ट्री से फ़ाइलें नहीं मिटाई जातीं, तब तक क्लाइंट को फिर से कोशिश नहीं करनी चाहिए.

एचटीटीपी मैपिंग: 400 गलत अनुरोध

ABORTED

ऑपरेशन को रोक दिया गया था. आम तौर पर, ऐसा एक साथ कई टास्क करने से जुड़ी समस्या की वजह से होता है. जैसे, सीक्वेंसर की जांच न हो पाना या लेन-देन रोकना.

FAILED_PRECONDITION, ABORTED, और UNAVAILABLE में से किसी एक को चुनने के लिए, ऊपर दिए गए दिशा-निर्देश देखें.

एचटीटीपी मैपिंग: 409 गड़बड़ी

OUT_OF_RANGE

कार्रवाई, मान्य सीमा के बाद की गई थी. उदाहरण के लिए, फ़ाइल के आखिर तक जाने या पढ़ने के बाद.

INVALID_ARGUMENT के उलट, यह गड़बड़ी किसी ऐसी समस्या की जानकारी देती है जिसे सिस्टम की स्थिति बदलने पर ठीक किया जा सकता है. उदाहरण के लिए, अगर किसी 32-बिट फ़ाइल सिस्टम से किसी ऐसे ऑफ़सेट पर पढ़ने के लिए कहा जाता है जो [0,2^32-1] की रेंज में नहीं है, तो वह INVALID_ARGUMENT जनरेट करेगा. हालांकि, अगर उससे फ़ाइल के मौजूदा साइज़ के बाद के किसी ऑफ़सेट से पढ़ने के लिए कहा जाता है, तो वह OUT_OF_RANGE जनरेट करेगा.

FAILED_PRECONDITION और OUT_OF_RANGE के बीच काफ़ी ओवरलैप है. हमारा सुझाव है कि जब भी OUT_OF_RANGE (गड़बड़ी की ज़्यादा जानकारी) लागू हो, तो उसका इस्तेमाल करें. इससे कॉलर, स्पेस में मौजूद सभी आइटम को आसानी से देख सकते हैं और OUT_OF_RANGE गड़बड़ी का पता लगा सकते हैं.

एचटीटीपी मैपिंग: 400 गलत अनुरोध

UNIMPLEMENTED

यह कार्रवाई लागू नहीं की गई है या इस सेवा में काम नहीं करती/चालू नहीं है.

एचटीटीपी मैपिंग: 501 लागू नहीं है

INTERNAL

अंदरूनी गड़बड़ियां. इसका मतलब है कि सिस्टम में मौजूद कुछ इनवैरिएंट काम नहीं कर रहे हैं. गड़बड़ी का यह कोड, गंभीर गड़बड़ियों के लिए है.

एचटीटीपी मैपिंग: 500 सर्वर में गड़बड़ी

UNAVAILABLE

फ़िलहाल, सेवा उपलब्ध नहीं है. ज़्यादातर मामलों में, यह एक अस्थायी स्थिति होती है. इसे ठीक करने के लिए, बैकऑफ़ की मदद से फिर से कोशिश करें. ध्यान दें कि नॉन-आइडेंटिमेंट ऑपरेशन को दोबारा आज़माना हमेशा सुरक्षित नहीं होता.

FAILED_PRECONDITION, ABORTED, और UNAVAILABLE में से किसी एक को चुनने के लिए, ऊपर दिए गए दिशा-निर्देश देखें.

एचटीटीपी मैपिंग: 503 सेवा उपलब्ध नहीं है

DATA_LOSS

डेटा को वापस नहीं पाया जा सकता या डेटा खराब हो गया.

एचटीटीपी मैपिंग: 500 सर्वर में गड़बड़ी

स्थिति

Status टाइप, गड़बड़ी का एक लॉजिकल मॉडल तय करता है. यह मॉडल, अलग-अलग प्रोग्रामिंग एनवायरमेंट के लिए सही होता है. जैसे, REST API और आरपीसी एपीआई. इसका इस्तेमाल gRPC करता है. हर Status मैसेज में तीन तरह का डेटा होता है: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.

इस गड़बड़ी के मॉडल और इसके साथ काम करने के तरीके के बारे में ज़्यादा जानने के लिए, एपीआई डिज़ाइन गाइड पढ़ें.

फ़ील्ड
code

int32

स्टेटस कोड, जो google.rpc.Code की एनम वैल्यू होना चाहिए.

message

string

डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाला गड़बड़ी का कोई भी मैसेज, स्थानीय भाषा में होना चाहिए और उसे google.rpc.Status.details फ़ील्ड में भेजा जाना चाहिए. इसके अलावा, क्लाइंट भी उसे स्थानीय भाषा में बदल सकता है.

details[]

Any

गड़बड़ी की जानकारी देने वाले मैसेज की सूची. एपीआई के लिए, मैसेज टाइप का एक सामान्य सेट होता है.