इंडेक्स
BadRequest(मैसेज)BadRequest.FieldViolation(मैसेज)Code(enum)ErrorInfo(मैसेज)Help(मैसेज)Help.Link(मैसेज)LocalizedMessage(मैसेज)RequestInfo(मैसेज)Status(मैसेज)
BadRequest
क्लाइंट के अनुरोध में हुए उल्लंघनों के बारे में बताता है. इस तरह की गड़बड़ी में, अनुरोध के सिंटैक्टिक पहलुओं पर फ़ोकस किया जाता है.
| फ़ील्ड | |
|---|---|
field_violations[] |
इसमें क्लाइंट के अनुरोध में हुए सभी उल्लंघनों के बारे में बताया जाता है. |
FieldViolation
इस मैसेज टाइप का इस्तेमाल, किसी एक अमान्य अनुरोध फ़ील्ड के बारे में बताने के लिए किया जाता है.
| फ़ील्ड | |
|---|---|
field |
अनुरोध के मुख्य हिस्से में मौजूद फ़ील्ड तक ले जाने वाला पाथ. यह वैल्यू, डॉट से अलग किए गए आइडेंटिफ़ायर का क्रम होगा. इससे प्रोटोकॉल बफ़र फ़ील्ड की पहचान की जाती है. इसके लिए, इन्हें आज़माएं: इस उदाहरण में, प्रोटो
JSON में, एक जैसी वैल्यू को इस तरह दिखाया जाता है:
|
description |
अनुरोध का एलिमेंट खराब क्यों है, इसकी जानकारी. |
reason |
फ़ील्ड-लेवल की गड़बड़ी की वजह. यह एक ऐसी वैल्यू है जो फ़ील्ड-लेवल की गड़बड़ी की मुख्य वजह की पहचान करती है. इससे google.rpc.ErrorInfo.domain के स्कोप में, FieldViolation के टाइप की खास तौर पर पहचान होनी चाहिए. यह ज़्यादा से ज़्यादा 63 वर्णों का होना चाहिए. साथ ही, यह |
localized_message |
यह फ़ील्ड-लेवल की गड़बड़ियों के लिए, स्थानीय भाषा में गड़बड़ी का मैसेज दिखाता है. इसे एपीआई का इस्तेमाल करने वाले व्यक्ति को दिखाया जा सकता है. |
कोड
gRPC API के लिए कैननिकल गड़बड़ी कोड.
कभी-कभी एक से ज़्यादा गड़बड़ी कोड लागू हो सकते हैं. सेवाओं को सबसे सटीक गड़बड़ी कोड दिखाना चाहिए. उदाहरण के लिए, अगर दोनों कोड लागू होते हैं, तो FAILED_PRECONDITION के बजाय OUT_OF_RANGE को प्राथमिकता दें. इसी तरह, FAILED_PRECONDITION के बजाय NOT_FOUND या ALREADY_EXISTS को प्राथमिकता दें.
| Enums | |
|---|---|
OK |
यह कोई गड़बड़ी नहीं है. यह अनुरोध पूरा होने पर दिखता है. एचटीटीपी मैपिंग: 200 OK |
CANCELLED |
कार्रवाई रद्द कर दी गई थी. आम तौर पर, ऐसा कॉल करने वाला व्यक्ति करता है. एचटीटीपी मैपिंग: 499 अनुरोध की प्रोसेस होने के दौरान क्लाइंट ने कनेक्शन बंद कर दिया |
UNKNOWN |
ऐसी गड़बड़ी जिसकी कोई जानकारी नहीं है. उदाहरण के लिए, यह गड़बड़ी तब दिख सकती है, जब किसी दूसरे पते की जगह से मिली HTTP मैपिंग: 500 सर्वर में गड़बड़ी |
INVALID_ARGUMENT |
क्लाइंट ने एक अमान्य तर्क बताया. ध्यान दें कि यह एचटीटीपी मैपिंग: 400 गलत अनुरोध |
DEADLINE_EXCEEDED |
कार्रवाई पूरी होने से पहले ही समयसीमा खत्म हो गई. सिस्टम की स्थिति में बदलाव करने वाली कार्रवाइयों के लिए, यह गड़बड़ी तब भी दिख सकती है, जब कार्रवाई पूरी हो गई हो. उदाहरण के लिए, किसी सर्वर से मिला जवाब, समयसीमा खत्म होने के बाद मिला हो. एचटीटीपी मैपिंग: 504 गेटवे टाइमआउट |
NOT_FOUND |
अनुरोध की गई कुछ इकाई (जैसे, फ़ाइल या डायरेक्ट्री) नहीं मिली. सर्वर डेवलपर के लिए सूचना: अगर उपयोगकर्ताओं के पूरे ग्रुप के लिए किसी अनुरोध को अस्वीकार कर दिया जाता है, तो एचटीटीपी मैपिंग: 404 नहीं मिला |
ALREADY_EXISTS |
क्लाइंट ने जिस इकाई को बनाने की कोशिश की है (जैसे, फ़ाइल या डायरेक्ट्री), वह पहले से मौजूद है. एचटीटीपी मैपिंग: 409 गड़बड़ी |
PERMISSION_DENIED |
कॉलर के पास, तय की गई कार्रवाई को पूरा करने की अनुमति नहीं है. एचटीटीपी मैपिंग: 403 अनुमति नहीं है |
UNAUTHENTICATED |
अनुरोध में, कार्रवाई के लिए पुष्टि करने वाले मान्य क्रेडेंशियल मौजूद नहीं हैं. एचटीटीपी मैपिंग: 401 Unauthorized |
RESOURCE_EXHAUSTED |
कोई संसाधन खत्म हो गया है. ऐसा हो सकता है कि हर उपयोगकर्ता के लिए तय किया गया कोटा खत्म हो गया हो या पूरे फ़ाइल सिस्टम में जगह न बची हो. एचटीटीपी मैपिंग: 429 कई बार अनुरोध किया गया |
FAILED_PRECONDITION |
इस कार्रवाई को अस्वीकार कर दिया गया है, क्योंकि सिस्टम उस स्थिति में नहीं है जिसमें कार्रवाई की जा सकती है. उदाहरण के लिए, मिटाई जाने वाली डायरेक्ट्री खाली नहीं है, rmdir ऑपरेशन को किसी डायरेक्ट्री पर लागू नहीं किया गया है वगैरह. सेवा लागू करने वाले लोग, एचटीटीपी मैपिंग: 400 गलत अनुरोध |
ABORTED |
कार्रवाई को रोक दिया गया है. आम तौर पर, ऐसा एक साथ कई अनुरोध आने की वजह से होता है. जैसे, सीक्वेंसर की जांच पूरी न हो पाना या लेन-देन रद्द हो जाना.
एचटीटीपी मैपिंग: 409 गड़बड़ी |
OUT_OF_RANGE |
मान्य सीमा से ज़्यादा वैल्यू डालने की कोशिश की गई. उदाहरण के लिए, फ़ाइल के आखिर से पहले या बाद में पढ़ना.
एचटीटीपी मैपिंग: 400 गलत अनुरोध |
UNIMPLEMENTED |
यह ऑपरेशन लागू नहीं किया गया है या इस सेवा में काम नहीं करता/चालू नहीं है. एचटीटीपी मैपिंग: 501 अनुरोध पूरा करने के लिए सुविधाएं मौजूद नहीं हैं |
INTERNAL |
सिस्टम में गड़बड़ियां. इसका मतलब है कि सिस्टम के कुछ इनवेरिएंट टूट गए हैं. यह गड़बड़ी कोड, गंभीर गड़बड़ियों के लिए रिज़र्व किया गया है. HTTP मैपिंग: 500 सर्वर में गड़बड़ी |
UNAVAILABLE |
फ़िलहाल, सेवा उपलब्ध नहीं है. यह एक अस्थायी समस्या है. कुछ समय बाद फिर से कोशिश करने पर, इसे ठीक किया जा सकता है. ध्यान दें कि नॉन-आइडमपोटेंट ऑपरेशन को फिर से आज़माना हमेशा सुरक्षित नहीं होता.
एचटीटीपी मैपिंग: 503 सेवा उपलब्ध नहीं है |
DATA_LOSS |
डेटा को वापस नहीं पाया जा सकता या डेटा खराब हो गया. HTTP मैपिंग: 500 सर्वर में गड़बड़ी |
ErrorInfo
इसमें गड़बड़ी की वजह के बारे में स्ट्रक्चर्ड जानकारी दी गई है.
जब "pubsub.googleapis.com" एपीआई चालू नहीं होता है, तब उससे संपर्क करने पर गड़बड़ी का उदाहरण:
{ "reason": "API_DISABLED"
"domain": "googleapis.com"
"metadata": {
"resource": "projects/123",
"service": "pubsub.googleapis.com"
}
}
इस जवाब से पता चलता है कि pubsub.googleapis.com API चालू नहीं है.
किसी ऐसे इलाके में Spanner इंस्टेंस बनाने की कोशिश करने पर मिलने वाली गड़बड़ी का उदाहरण जहां यह सुविधा उपलब्ध नहीं है:
{ "reason": "STOCKOUT"
"domain": "spanner.googleapis.com",
"metadata": {
"availableRegions": "us-central1,us-east2"
}
}
| फ़ील्ड | |
|---|---|
reason |
गड़बड़ी की वजह. यह एक ऐसी वैल्यू होती है जो बदलती नहीं है. इससे गड़बड़ी की मुख्य वजह का पता चलता है. गड़बड़ी की वजहें, गड़बड़ियों के किसी खास डोमेन में यूनीक होती हैं. यह ज़्यादा से ज़्यादा 63 वर्णों का होना चाहिए. साथ ही, यह |
domain |
लॉजिकल ग्रुपिंग, जिससे "reason" एट्रिब्यूट की वैल्यू जुड़ी है. गड़बड़ी का डोमेन आम तौर पर, उस टूल या प्रॉडक्ट का रजिस्टर किया गया सेवा नाम होता है जो गड़बड़ी जनरेट करता है. उदाहरण: "pubsub.googleapis.com". अगर गड़बड़ी किसी सामान्य इन्फ़्रास्ट्रक्चर की वजह से हुई है, तो गड़बड़ी का डोमेन, दुनिया भर में इस्तेमाल होने वाली एक यूनीक वैल्यू होनी चाहिए. इससे इन्फ़्रास्ट्रक्चर की पहचान होती है. Google API इन्फ़्रास्ट्रक्चर के लिए, गड़बड़ी वाला डोमेन "googleapis.com" है. |
metadata |
इस गड़बड़ी के बारे में स्ट्रक्चर्ड फ़ॉर्मैट में ज़्यादा जानकारी. कुंजियां, |
सहायता
यह दस्तावेज़ों के लिंक या आउट ऑफ़ बैंड कार्रवाई करने के लिए लिंक उपलब्ध कराता है.
उदाहरण के लिए, अगर कोटा की जांच में गड़बड़ी हुई है और गड़बड़ी से पता चलता है कि कॉल करने वाले प्रोजेक्ट ने ऐक्सेस की गई सेवा चालू नहीं की है, तो इसमें एक ऐसा यूआरएल शामिल हो सकता है जो डेवलपर कंसोल में सही जगह पर जाकर बिट को फ़्लिप करता है.
| फ़ील्ड | |
|---|---|
links[] |
ऐसे यूआरएल जो मौजूदा गड़बड़ी को ठीक करने के बारे में ज़्यादा जानकारी देते हैं. |
लिंक
यूआरएल लिंक के बारे में बताता है.
| फ़ील्ड | |
|---|---|
description |
इससे पता चलता है कि लिंक में क्या ऑफ़र किया गया है. |
url |
लिंक का यूआरएल. |
LocalizedMessage
यह स्थानीय भाषा में गड़बड़ी का ऐसा मैसेज दिखाता है जिसे उपयोगकर्ता को दिखाया जा सकता है. इसे आरपीसी की गड़बड़ी से जोड़ा जा सकता है.
| फ़ील्ड | |
|---|---|
locale |
इस कुकी में, https://www.rfc-editor.org/rfc/bcp/bcp47.txt पर तय किए गए स्पेसिफ़िकेशन के मुताबिक इस्तेमाल की गई स्थान-भाषा की जानकारी होती है. उदाहरण के लिए: "en-US", "fr-CH", "es-MX" |
message |
ऊपर दी गई स्थानीय भाषा में गड़बड़ी का मैसेज. |
RequestInfo
इस कुकी में अनुरोध के बारे में मेटाडेटा होता है. क्लाइंट, गड़बड़ी की शिकायत करते समय या अन्य तरह का सुझाव/राय देते समय इसे अटैच कर सकते हैं.
| फ़ील्ड | |
|---|---|
request_id |
यह एक अपारदर्शी स्ट्रिंग है. इसका मतलब सिर्फ़ वह सेवा समझ सकती है जो इसे जनरेट करती है. उदाहरण के लिए, इसका इस्तेमाल सेवा के लॉग में अनुरोधों की पहचान करने के लिए किया जा सकता है. |
serving_data |
इस अनुरोध को पूरा करने के लिए इस्तेमाल किया गया कोई भी डेटा. उदाहरण के लिए, एन्क्रिप्ट (सुरक्षित) किया गया स्टैक ट्रेस, जिसे डीबग करने के लिए सेवा देने वाली कंपनी को वापस भेजा जा सकता है. |
स्थिति
Status टाइप, लॉजिकल गड़बड़ी का एक ऐसा मॉडल तय करता है जो अलग-अलग प्रोग्रामिंग एनवायरमेंट के लिए सही होता है. इनमें REST API और RPC API शामिल हैं. इसका इस्तेमाल gRPC करता है. हर Status मैसेज में तीन तरह का डेटा होता है: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.
इस गड़बड़ी के मॉडल और इसके साथ काम करने के तरीके के बारे में ज़्यादा जानने के लिए, एपीआई डिज़ाइन गाइड पढ़ें.
| फ़ील्ड | |
|---|---|
code |
स्टेटस कोड, जो |
message |
डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में होना चाहिए. साथ ही, उसे |
details[] |
मैसेज की सूची, जिसमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज टाइप का एक सामान्य सेट होता है. |