Package google.rpc

इंडेक्स

कोड

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

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

Enums
OK

यह कोई गड़बड़ी नहीं है. यह अनुरोध पूरा होने पर दिखता है.

एचटीटीपी मैपिंग: 200 OK

CANCELLED

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

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

UNKNOWN

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

HTTP मैपिंग: 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 Unauthorized

RESOURCE_EXHAUSTED

कुछ संसाधन खत्म हो गए हैं. ऐसा हो सकता है कि हर उपयोगकर्ता के लिए तय किया गया कोटा खत्म हो गया हो या फ़ाइल सिस्टम में जगह न बची हो.

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

FAILED_PRECONDITION

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

सेवा लागू करने वाले लोग, FAILED_PRECONDITION, ABORTED, और UNAVAILABLE में से किसी एक को चुनने के लिए, यहां दिए गए दिशा-निर्देशों का इस्तेमाल कर सकते हैं: (a) अगर क्लाइंट सिर्फ़ फ़ेल हुए कॉल को फिर से आज़मा सकता है, तो UNAVAILABLE का इस्तेमाल करें. (b) अगर क्लाइंट को ज़्यादा लेवल पर फिर से कोशिश करनी चाहिए, तो ABORTED का इस्तेमाल करें. उदाहरण के लिए, जब क्लाइंट की ओर से तय किया गया टेस्ट-एंड-सेट फ़ेल हो जाता है, तो इसका मतलब है कि क्लाइंट को read-modify-write सीक्वेंस को फिर से शुरू करना चाहिए. (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

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

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

UNAVAILABLE

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

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

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

DATA_LOSS

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

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

स्थिति

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

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

फ़ील्ड
code

int32

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

message

string

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

details[]

Any

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