इंडेक्स
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 ठीक है |
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[] |
मैसेज की सूची, जिसमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज टाइप का एक सामान्य सेट होता है. |