आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
इस विषय में, Edge Microgateway से जुड़ी गड़बड़ियों और चेतावनियों के बारे में बताया गया है.
ऐप्लिकेशन से जुड़ी सामान्य गड़बड़ियां
HTTP 500, error handler में गड़बड़ी हुई - ज़्यादातर गड़बड़ियों में यह नंबर होगा. साथ ही, टारगेट से मिली कुछ गड़बड़ियों में भी यह नंबर होगा. खास तौर पर, errors-middleware.js का इस्तेमाल पूरे microgateway-core मॉड्यूल में किया जाता है. इसका इस्तेमाल करने पर, यह Edge Microgateway
logger object: logger.error(err, 'failed in error handler');का इस्तेमाल करके, लॉगिंग में statusCodes लिखता है. अगर टारगेट से मिले कोड 100 से 300 के बीच हैं, तो errors-middleware.js, statusCode को 500 में बदल देता है, ताकि क्लाइंट को वापस भेजा जा सके.एचटीटीपी 404 - आपको यह स्टेटस, स्टैक ट्रेस के तौर पर दिख सकता है. इसके साथ यह मैसेज भी दिखेगा:
no match found for [API_path_name].
मॉड्यूल से जुड़ी गड़बड़ियां और चेतावनियां
इस जानकारी का इस्तेमाल करके, सूचनाएं कॉन्फ़िगर की जा सकती हैं. इससे आपको Edge Microgateway डिप्लॉयमेंट को मॉनिटर और मैनेज करने में मदद मिलती है.
"Handler" में गड़बड़ी के रेफ़रंस के तौर पर दिखने वाले ये शब्द बताते हैं कि Edge Microgateway में अलग-अलग गड़बड़ियों को कैसे हैंडल किया जाता है.
- assert: आम तौर पर, assert का आकलन पूरा न होने पर Edge Microgateway काम करना बंद कर देता है. हालांकि, ऐसा हमेशा नहीं होता, क्योंकि "asserts" ऐसे अपवादों को थ्रो करते हैं जिन्हें पकड़ा जा सकता है.
- throws: सिस्टम बंद हो सकता है.
- callback: गड़बड़ी को कॉलबैक में पास किया जाता है और सिस्टम काम करना जारी रख सकता है.
| टाइप | मैसेज | हैंडलर | नोट |
|---|---|---|---|
microgateway मॉड्यूल |
|||
| गड़बड़ी | org डालना ज़रूरी है | दावा करें | assert(options.org,"org is required"); |
| गड़बड़ी | env ज़रूरी है | दावा करें | assert(options.env,"env is required") |
| गड़बड़ी | उपयोगकर्ता नाम डालना ज़रूरी है | दावा करें | assert(options.username || options.token,"username is required"); |
| गड़बड़ी | पासवर्ड डालना ज़रूरी है | दावा करें | assert(options.password || options.token,"password is required") |
| गड़बड़ी | org डालना ज़रूरी है | दावा करें | assert(options.org,"org is required"); |
| गड़बड़ी | env ज़रूरी है | दावा करें | assert(options.env,"env is required") |
| गड़बड़ी | उपयोगकर्ता नाम डालना ज़रूरी है | दावा करें | assert(options.username || options.token,"username is required"); |
| गड़बड़ी | पासवर्ड डालना ज़रूरी है | दावा करें | assert(options.password || options.token,"password is required") |
| गड़बड़ी | org डालना ज़रूरी है | दावा करें | assert(options.org,"org is required"); |
| गड़बड़ी | env ज़रूरी है | दावा करें | assert(options.env,"env is required") |
| गड़बड़ी | org डालना ज़रूरी है | दावा करें | assert(options.org,"org is required"); |
| गड़बड़ी | env ज़रूरी है | दावा करें | assert(options.env,"env is required") |
| गड़बड़ी | उपयोगकर्ता नाम डालना ज़रूरी है | दावा करें | assert(options.username, 'username is required'); |
| गड़बड़ी | पासवर्ड डालना ज़रूरी है | दावा करें | assert(options.password, 'password is required'); |
| गड़बड़ी | org डालना ज़रूरी है | दावा करें | assert(options.org, 'org is required'); |
| गड़बड़ी | env ज़रूरी है | दावा करें | assert(options.env, 'env is required'); |
| गड़बड़ी | में टारगेट फ़ाइल असाइन की गई हो | दावा करें | assert(targetFile, 'must have an assigned target file') |
| गड़बड़ी | में एक कुंजी होनी चाहिए | दावा करें | assert(key, 'must have a key'); |
| गड़बड़ी | इसमें सीक्रेट होना चाहिए | दावा करें | assert(secret, 'must have a secret'); |
| गड़बड़ी | dir को कॉन्फ़िगर किया जाना चाहिए | दावा करें | assert(dir, 'dir must be configured') |
| गड़बड़ी | कॉलबैक मौजूद होना चाहिए | दावा करें | assert(callback, 'callback must be present') |
| गड़बड़ी | उपयोगकर्ता नाम डालना ज़रूरी है | दावा करें | assert(options.username, 'username is required'); |
| गड़बड़ी | पासवर्ड डालना ज़रूरी है | दावा करें | assert(options.password, 'password is required'); |
| गड़बड़ी | org डालना ज़रूरी है | दावा करें | assert(options.org, 'org is required'); |
| गड़बड़ी | env ज़रूरी है | दावा करें | assert(options.env, 'env is required'); |
| गड़बड़ी | runtimeUrl डालना ज़रूरी है | दावा करें | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| गड़बड़ी | mgmtUrl डालना ज़रूरी है | दावा करें | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| गड़बड़ी | फ़ाइल ज़रूरी है | दावा करें | assert(options.file,"file is required") |
| गड़बड़ी | लक्ष्य होना चाहिए | दावा करें | assert(options.target, 'must have target'); |
| गड़बड़ी | प्लगिन कॉन्फ़िगर नहीं किए गए हैं | दावा करें | assert(config.edgemicro.plugins, 'plugins not configured'); |
| गड़बड़ी | plugin dir does not exist: + pluginDir | दावा करें | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| गड़बड़ी | plugin dir, डायरेक्ट्री नहीं है: + pluginDir | दावा करें | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| गड़बड़ी | error reading plugin dir: + pluginDir | दावा करें | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| गड़बड़ी | में टोकन होना चाहिए | दावा करें | assert(token, 'must have a token'); |
| गड़बड़ी | configpath को खाली नहीं छोड़ा जा सकता | दावा करें | assert(config, 'configpath can't be empty'); |
| गड़बड़ी | EDGEMICRO_KEY होना ज़रूरी है | दावा करें | assert(key, 'must have EDGEMICRO_KEY'); |
| गड़बड़ी | EDGEMICRO_SECRET होना ज़रूरी है | दावा करें | assert(secret, 'must have EDGEMICRO_SECRET'); |
| गड़बड़ी | कॉन्फ़िगरेशन मौजूद नहीं है | थ्रो करता है | yaml फ़ाइल से जुड़ी समस्या |
| गड़बड़ी | ऐसा लगता है कि edgemicro पहले से ही चल रहा है. | console.error | .sock फ़ाइल को ओवरराइट करने की कोशिश की जा रही है |
| गड़बड़ी | कॉन्फ़िगरेशन में हुए बदलाव का पता नहीं लगाया जा सका. इतने समय बाद फिर से कोशिश की जाएगी | console.error | एज कम्यूनिकेशन में समस्या |
| गड़बड़ी | अगर सर्वर काम नहीं कर रहा है, तो हो सकता है कि पिछली बार सर्वर को बंद करते समय कोई गड़बड़ी हुई हो. | console.error | |
| गड़बड़ी | %s मौजूद नहीं है. कृपया | console.error | (.*) मौजूद नहीं है, कृपया चलाएं |
| गड़बड़ी | edgemicro को फिर से लोड नहीं किया जा सका | console.error | कमांड लेवल |
| गड़बड़ी | edgemicro को बंद नहीं किया जा सका | console.error | कमांड लेवल |
| गड़बड़ी | 'Try removing ' + ipcPath + ' and start again' | console.error | |
| गड़बड़ी | 'cache configuration ' + cache + ' does not exist. exiting.' | console.error | |
| गड़बड़ी | कॉन्फ़िगरेशन फ़ाइल नहीं लिखी जा सकी: | console.error | कॉन्फ़िगरेशन पूरा नहीं होगा |
| गड़बड़ी | कॉन्फ़िगरेशन फ़ाइल डाउनलोड नहीं हुई: | console.error | कॉन्फ़िगरेशन पूरा नहीं होगा |
| गड़बड़ी | edge micro शुरू नहीं किया जा सका | console.error | यह नहीं चलना चाहिए |
| गड़बड़ी | edgemicro काम नहीं कर रहा है. | console.error | जांच करें कि यह प्रोसेस सूची में शामिल न हो |
| गड़बड़ी | env ज़रूरी है | console.error | एनवायरमेंट वैरिएबल को चलाने के लिए ज़रूरी है |
| गड़बड़ी | error - editing apiproxy Callout.xml | console.error | फ़ाइल का ऐक्सेस |
| गड़बड़ी | error - editing apiproxy default.xml | console.error | फ़ाइल का ऐक्सेस |
| गड़बड़ी | सर्टिफ़िकेट की जांच करने में गड़बड़ी हुई. नया सर्टिफ़िकेट इंस्टॉल किया जा रहा है. | console.error | सार्वजनिक कुंजी का इस्तेमाल नहीं किया जा सकता |
| गड़बड़ी | संगठन के लिए क्षेत्र की जानकारी वापस पाने में गड़बड़ी | console.error | key-gen.js, cert-lib.js, और private.js |
| गड़बड़ी | क्रेडेंशियल अपलोड करने में गड़बड़ी हुई | console.error | सार्वजनिक कुंजी को Edge के साथ सिंक नहीं किया जा सकता |
| गड़बड़ी | विफल | console.error | key-gen.js |
| गड़बड़ी | कॉन्फ़िगपाथ फ़ाइल %s को शुरू नहीं किया जा सका | console.error | कॉन्फ़िगरेशन लोड नहीं हो रहा है |
| गड़बड़ी | क्षेत्र के हिसाब से एपीआई से मिला जवाब अमान्य है | console.error | key-gen.js, cert-lib.js, और private.js |
| गड़बड़ी | कुंजी डालना ज़रूरी है | console.error | पैरामीटर |
| गड़बड़ी | org डालना ज़रूरी है | console.error | पैरामीटर |
| गड़बड़ी | पोर्ट उपलब्ध नहीं है. | console.error | पैरामीटर |
| गड़बड़ी | सीक्रेट ज़रूरी है | console.error | पैरामीटर |
| गड़बड़ी | यूआरएल प्रोटोकॉल मौजूद नहीं है: | console.error | कॉन्फ़िगरेशन की जानकारी से पता चलता है कि इंटरनेट प्रोटोकॉल, Edge Microgateway के स्कोप में नहीं है |
| गड़बड़ी | verifying analytics negative case: FAIL | console.error | क्रैश/काम न करने की समस्या हो सकती है |
| गड़बड़ी | पे लोड के साथ आंकड़ों की पुष्टि की जा रही है: फ़ेल | console.error | क्रैश/काम न करने की समस्या हो सकती है |
| गड़बड़ी | verifying bootstrap url availability:FAIL | console.error | क्रैश/काम न करने की समस्या हो सकती है |
| गड़बड़ी | verifying jwt_public_key availability: FAIL | console.error | क्रैश/काम न करने की समस्या हो सकती है |
| गड़बड़ी | प्रॉडक्ट की उपलब्धता की पुष्टि की जा रही है: नहीं हो सका | console.error | क्रैश/काम न करने की समस्या हो सकती है |
| गड़बड़ी | कॉन्फ़िगर किए गए प्रॉडक्ट के लिए कोटे की पुष्टि करना: फ़ेल हुआ | console.error | क्रैश/काम न करने की समस्या हो सकती है |
| चेतावनी दें | गेटवे से कॉन्फ़िगरेशन नहीं मिला. जारी रखें. कैश मेमोरी में सेव की गई कॉपी का इस्तेमाल किया जाएगा.. | console.error | |
| चेतावनी दें | आपके संगठन में KVM पहले से मौजूद है | console.log | |
| चेतावनी दें | पहले से ही डिप्लॉय किया गया है | console.log | |
| चेतावनी दें | सीक्वेंस किया गया प्लग इन नहीं मिला: | console.warn | |
| चेतावनी दें | pluginDir %s मौजूद नहीं है | console.log | pluginDir (.*) मौजूद नहीं है |
microgateway-core मॉड्यूल |
|||
| गड़बड़ी | कॉन्फ़िगरेशन शुरू नहीं किया गया | दावा करें | assert(config, 'config not initialized') |
| गड़बड़ी | कॉन्फ़िगरेशन होना चाहिए | दावा करें | assert(config, ' must have a config') |
| गड़बड़ी | कॉन्फ़िगरेशन होना चाहिए | दावा करें | assert(config, 'must have config') |
| गड़बड़ी | कॉन्फ़िगरेशन में यूआईडी होना चाहिए | दावा करें | assert(config.uid, 'config must have uid'); |
| गड़बड़ी | must have config.edgemicro.logging in config | दावा करें | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| गड़बड़ी | अनुरोध का तरीका होना चाहिए | दावा करें | assert(httpLibrary.request, 'must have request method'); |
| गड़बड़ी | मेमोरी में प्लगिन लोड होना चाहिए | दावा करें | assert(options.plugin, "must have plugin loaded in memory"); |
| गड़बड़ी | init को फ़ंक्शन के तौर पर होना चाहिए | दावा करें | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| गड़बड़ी | इसमें प्लगिन का नाम होना चाहिए | दावा करें | assert(options.pluginName, "must have plugin name"); |
| गड़बड़ी | अमान्य प्लगिन हैंडलर और नाम को अनदेखा किया जा रहा है | दावा करें | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| गड़बड़ी | विकल्पों में कॉन्फ़िगरेशन शामिल होना चाहिए | दावा करें | assert(config, 'options must contain config') |
| गड़बड़ी | प्लगिन का नाम होना ज़रूरी है | दावा करें | assert(name,"plugin must have a name") |
| गड़बड़ी | नाम, स्ट्रिंग होना चाहिए | दावा करें | assert(_.isString(name),"name must be a string"); |
| गड़बड़ी | प्लगिन को फ़ंक्शन के तौर पर होना चाहिए | दावा करें | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| गड़बड़ी | में एक कुंजी होनी चाहिए | दावा करें | assert(key, 'must have a key'); |
| गड़बड़ी | इसमें सीक्रेट होना चाहिए | दावा करें | assert(secret, 'must have a secret'); |
| गड़बड़ी | में सोर्स कॉन्फ़िगरेशन डायरेक्ट्री होनी चाहिए | दावा करें | assert(source, 'must have a source config directory'); |
| गड़बड़ी | प्लगिन लोड करने में गड़बड़ी हुई | console.error | प्लॉग-इन लोड नहीं हुआ |
| गड़बड़ी | गड़बड़ी हैंडलर में गड़बड़ी हुई | कॉलबैक | HTTP server.on() फ़ंक्शन |
| गड़बड़ी | हेडर की लंबाई, तय किए गए साइज़ से ज़्यादा है | एचटीटीपी गड़बड़ी | प्लगिन नहीं चलाता |
| गड़बड़ी | काम पूरा होने से पहले ही जवाब मिल गया | logger.error | टारगेट प्लग-इन काम नहीं करता |
| गड़बड़ी | हैंडलर ने अपवाद दिया | कॉलबैक | प्लॉग-इन से रिकॉर्डिंग के दौरान गड़बड़ी हुई (कैच) |
| गड़बड़ी | edge micro शुरू करने में गड़बड़ी हुई | कॉलबैक | Edge Microgateway शुरू नहीं होता |
| गड़बड़ी | प्लगिन को फ़ंक्शन के तौर पर होना चाहिए | थ्रो करता है | |
| चेतावनी दें | console.error | चेतावनी देता है | लॉग लिखना |
| चेतावनी दें | targetRequest में गड़बड़ी | टारगेट की गड़बड़ी ठीक करने की सुविधा चालू करना | टारगेट से कनेक्ट करने में एचटीटीपी क्लाइंट की गड़बड़ी |
| चेतावनी दें | targetResponse में गड़बड़ी | टारगेट की गड़बड़ी ठीक करने की सुविधा चालू करना | क्लाइंट में दिखने वाले टारगेट से कनेक्शन में, एचटीटीपी टारगेट सर्वर की गड़बड़ी |
microgateway-config मॉड्यूल |
|||
| गड़बड़ी | allow_message | दावा करें | assert(+config.quota.allow > 0, allow_message); |
| गड़बड़ी | कॉन्फ़िगरेशन मौजूद नहीं है | थ्रो करता है | कॉन्फ़िगरेशन वाली YAML फ़ाइल |
| गड़बड़ी | config is empty | थ्रो करता है | कॉन्फ़िगरेशन वाली YAML फ़ाइल |
| गड़बड़ी | config कोई फ़ाइल नहीं है | थ्रो करता है | कॉन्फ़िगरेशन वाली YAML फ़ाइल |
| गड़बड़ी | config is not defined | दावा करें | assert(config, 'config is not defined'); |
| गड़बड़ी | config.analytics.batchSize की वैल्यू अमान्य है | दावा करें | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| गड़बड़ी | config.analytics.batchSize एक संख्या नहीं है | दावा करें | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| गड़बड़ी | config.analytics.bufferSize अमान्य है | दावा करें | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| गड़बड़ी | config.analytics.bufferSize कोई संख्या नहीं है | दावा करें | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| गड़बड़ी | config.analytics.flushInterval अमान्य है | दावा करें | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| गड़बड़ी | config.analytics.flushInterval एक संख्या नहीं है | दावा करें | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| गड़बड़ी | config.analytics.proxy "dummy" नहीं है | दावा करें | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| गड़बड़ी | config.analytics.proxy मौजूद नहीं है | दावा करें | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| गड़बड़ी | config.analytics.proxy_revision, संख्या नहीं है | दावा करें | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| गड़बड़ी | config.analytics.proxy_revision के बारे में नहीं बताया गया है | दावा करें | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| गड़बड़ी | config.analytics.source "microgateway" नहीं है | दावा करें | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| गड़बड़ी | config.analytics.source के बारे में नहीं बताया गया है | दावा करें | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| गड़बड़ी | config.analytics.uri, स्ट्रिंग नहीं है | दावा करें | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| गड़बड़ी | config.analytics.uri मौजूद नहीं है | दावा करें | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| गड़बड़ी | config.apikeys.public_key मौजूद नहीं है | दावा करें | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| गड़बड़ी | config.edge_config is not defined | दावा करें | assert(config.edge_config, 'config.edge_config is not defined'); |
| गड़बड़ी | config.edge_config.bootstrap को तय नहीं किया गया है | दावा करें | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| गड़बड़ी | config.edge_config.jwt_public_key मौजूद नहीं है | दावा करें | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| गड़बड़ी | अगर config.edge_config.proxy_tunnel तय किया गया है, तो config.edge_config.proxy तय किया जाना चाहिए | दावा करें | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
| गड़बड़ी | config.edge_config.proxy_tunnel, बूलियन नहीं है | दावा करें | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| गड़बड़ी | config.edge_config.refresh_interval एक संख्या नहीं है | दावा करें | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| गड़बड़ी | config.edge_config.refresh_interval बहुत छोटा है (कम से कम 1 घंटा) | दावा करें | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| गड़बड़ी | config.edge_config.retry_interval एक संख्या नहीं है | दावा करें | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| गड़बड़ी | config.edge_config.retry_interval बहुत छोटा है (कम से कम 5 सेकंड) | दावा करें | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| गड़बड़ी | config.edgemicro is not defined | दावा करें | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| गड़बड़ी | config.edgemicro.logging को सेट नहीं किया गया है | दावा करें | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| गड़बड़ी | config.edgemicro.logging.dir सेट नहीं है | दावा करें | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| गड़बड़ी | config.edgemicro.logging.level तय नहीं किया गया है | दावा करें | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| गड़बड़ी | config.edgemicro.max_connections की वैल्यू कोई संख्या नहीं है | दावा करें | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| गड़बड़ी | config.edgemicro.max_connections तय नहीं किया गया है | दावा करें | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| गड़बड़ी | config.edgemicro.plugins.sequence is not an array | दावा करें | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| गड़बड़ी | config.edgemicro.port तय नहीं किया गया है | दावा करें | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| गड़बड़ी | config.oauth.allowInvalidAuthorization सेट नहीं है | दावा करें | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| गड़बड़ी | config.oauth.allowNoAuthorization तय नहीं किया गया है | दावा करें | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| गड़बड़ी | config.oauth.public_key मौजूद नहीं है | दावा करें | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| गड़बड़ी | config.oauthv2.public_key तय नहीं किया गया है | दावा करें | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| गड़बड़ी | config.proxies मौजूद नहीं है | दावा करें | assert(config.proxies, 'config.proxies is not defined'); |
| गड़बड़ी | config.proxy[ + index + ].base_path मौजूद नहीं है | दावा करें | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| गड़बड़ी | config.proxy[ + index + ].max_connections is not a number | दावा करें | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| गड़बड़ी | config.proxy[ + index + ].max_connections is not defined | दावा करें | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| गड़बड़ी | config.proxy[ + index + ].name is not defined | दावा करें | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| गड़बड़ी | config.proxy[ + index + ].proxy_name is not defined | दावा करें | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| गड़बड़ी | config.proxy[ + index + ].revision is not defined | दावा करें | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| गड़बड़ी | config.proxy[ + index + ].url तय नहीं किया गया है | दावा करें | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| गड़बड़ी | config.quota.allow, संख्या नहीं है | दावा करें | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| गड़बड़ी | config.quota.allow is not defined | दावा करें | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| गड़बड़ी | config.quota.interval, कोई संख्या नहीं है | दावा करें | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| गड़बड़ी | config.quota.interval तय नहीं किया गया है | दावा करें | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| गड़बड़ी | config.spikearrest तय नहीं किया गया है | दावा करें | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| गड़बड़ी | config.spikearrest.allow अमान्य है | दावा करें | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| गड़बड़ी | config.spikearrest.allow, कोई संख्या नहीं है | दावा करें | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| गड़बड़ी | config.spikearrest.allow तय नहीं किया गया है | दावा करें | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| गड़बड़ी | config.spikearrest.bufferSize अमान्य है | दावा करें | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| गड़बड़ी | config.spikearrest.bufferSize कोई संख्या नहीं है | दावा करें | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| गड़बड़ी | config.spikearrest.timeUnit के बारे में नहीं बताया गया है | दावा करें | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| गड़बड़ी | गंभीर गड़बड़ी: डाउनलोड की गई प्रॉडक्ट लिस्ट को पार्स करने में गड़बड़ी हुई | कॉलबैक | |
| गड़बड़ी | गंभीर गड़बड़ी: डाउनलोड की गई प्रॉक्सी सूची को पार्स करने में गड़बड़ी हुई | कॉलबैक | |
| गड़बड़ी | प्रॉडक्ट के गलत कॉन्फ़िगरेशन का पता चला | console.error | इसके बाद, console.warn('using old cached configuration'); |
| गड़बड़ी | से कॉन्फ़िगरेशन पढ़ने में गड़बड़ी हुई | थ्रो करता है | कॉन्फ़िगरेशन वाली YAML फ़ाइल |
| गड़बड़ी | error saving config to | कॉलबैक | कॉन्फ़िगरेशन वाली YAML फ़ाइल |
| गड़बड़ी | fatal: cached config not available, unable to continue | कॉलबैक | |
| गड़बड़ी | interval_message | दावा करें | assert(+config.quota.interval > 0, interval_message); |
| गड़बड़ी | config.edge_config.proxy के लिए अमान्य प्रोटोकॉल (http: या https:: + proxy_url.protocol होना चाहिए) | दावा करें | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| गड़बड़ी | config.edge_config.proxy के लिए अमान्य प्रॉक्सी होस्ट | दावा करें | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| गड़बड़ी | ऐसा लगता है कि एज माइक्रो को कॉन्फ़िगर नहीं किया गया है. कृपया एडमिन गाइड देखें | कॉलबैक | नतीजा: कॉन्फ़िगरेशन लोड नहीं हो सका |
| गड़बड़ी | कुंजी मौजूद नहीं है | दावा करें | assert(keys.key, 'key is missing'); |
| गड़बड़ी | must have configDir | दावा करें | assert(configDir, 'must have configDir') |
| गड़बड़ी | ज़रूरी विकल्प | दावा करें | assert(options, 'must have options'); |
| गड़बड़ी | सोर्स की जानकारी देना ज़रूरी है | दावा करें | assert(source, 'must have source') |
| गड़बड़ी | इसे लोड करने के लिए, सोर्स होना ज़रूरी है | दावा करें | assert(options.source, 'must have source to load from') |
| गड़बड़ी | targetFile मौजूद होना चाहिए | दावा करें | assert(fileName, 'must have targetFile') |
| गड़बड़ी | विकल्प शून्य नहीं हो सकते | दावा करें | assert(options, 'options cannot be null'); |
| गड़बड़ी | options.keys शून्य नहीं हो सकते | दावा करें | assert(options.keys, 'options.keys cannot be null'); |
| गड़बड़ी | port_message | दावा करें | assert(+config.edgemicro.port < 65536, port_message); |
| गड़बड़ी | प्रॉडक्ट का मान, कोई श्रेणी होनी चाहिए | दावा करें | assert(Array.isArray(products), 'products should be an array'); |
| गड़बड़ी | 'proxies for product ' + product + ' should be an array' | दावा करें | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| गड़बड़ी | सीक्रेट मौजूद नहीं है | दावा करें | assert(keys.secret, 'secret is missing'); |
| गड़बड़ी | लक्ष्य सेट नहीं है | दावा करें | assert(target, 'target is not set'); |
| चेतावनी दें | कॉन्फ़िगरेशन डाउनलोड करने में गड़बड़ी हुई. कृपया बूटस्ट्रैप कॉन्फ़िगरेशन की जांच करें | console.warn | |
| चेतावनी दें | jwt_public_key डाउनलोड नहीं हो सका | console.warn | |
| चेतावनी दें | jwk कुंजियां चालू नहीं हैं | console.warn | |
| चेतावनी दें | message, 'download from', url, 'returned' | console.warn | Search for: (.*)\sdownload from\s(.*)\sreturned |
| चेतावनी दें | जवाब में कोई एज माइक्रो प्रॉडक्ट नहीं मिला | console.warn | |
| चेतावनी दें | संगठन में कोई एज माइक्रो प्रॉक्सी नहीं मिली | console.warn | |
| चेतावनी दें | जवाब में कोई एज माइक्रो प्रॉक्सी नहीं मिली | console.warn | |
| चेतावनी दें | संगठन में कोई प्रॉडक्ट नहीं मिला | console.warn | |
| चेतावनी दें | जवाब में कोई प्रॉडक्ट नहीं मिला | console.warn | |
| चेतावनी दें | कैश किए गए पुराने कॉन्फ़िगरेशन का इस्तेमाल करना | console.warn | |
microgateway-plugins मॉड्यूल |
|||
| गड़बड़ी | कॉन्फ़िगरेशन मौजूद नहीं है | थ्रो करता है | YAML फ़ाइल से जुड़ी समस्याएं |
| गड़बड़ी | apikey | एचटीटीपी रिस्पॉन्स | apiky प्लग इन में गड़बड़ियां |
| गड़बड़ी | bauth | एचटीटीपी रिस्पॉन्स | bauth प्लग इन में गड़बड़ियां |
| गड़बड़ी | extauth | एचटीटीपी रिस्पॉन्स | extauth प्लगिन में गड़बड़ियां |
| गड़बड़ी | Oauth | एचटीटीपी रिस्पॉन्स | OAuth प्लग इन में गड़बड़ियां |
| चेतावनी दें | Apigee Analytics को प्रोसेस करते समय गड़बड़ी हुई. अनुरोध को प्रोसेस करने की अनुमति देना | logger.error | |
| चेतावनी दें | गड़बड़ी को अनदेखा करना | console.warn | apikeys, oauth, और oauthv2 प्लग-इन |
| चेतावनी दें | jwt को पार्स करने में गड़बड़ी हुई: | console.warn | |
| चेतावनी दें | oath रिस्पॉन्स ऑब्जेक्ट में setHeader मौजूद नहीं है | console.warn | oauth पैरामीटर की गड़बड़ी से पता चलता है कि कुछ गड़बड़ियों की सूचना नहीं दी जाएगी. |
| चेतावनी दें | ओथ रिस्पॉन्स ऑब्जेक्ट, रनटाइम के ज़रिए नहीं दिया जाता | console.warn | oauth पैरामीटर से जुड़ी गड़बड़ी |
| चेतावनी दें | oath stats ऑब्जेक्ट, रनटाइम से नहीं मिलता है | console.warn | oauth पैरामीटर से जुड़ी गड़बड़ी |
apigeetool-node मॉड्यूल |
|||
| गड़बड़ी | Delete Cache failed with status code %d', res.statusCode | कॉलबैक | यह गड़बड़ी deletecache.js में दिखती है. Apigee Edge से मिला स्टेटस कोड. यह इस मैसेज के साथ, स्टैक ट्रेस की गड़बड़ी को कॉलबैक में पास करता है: done(new Error(errMsg)); |
| गड़बड़ी | Delete Product failed with status code %d', res.statusCode | कॉलबैक | इस कुकी को deleteproduct.js में थ्रो किया जाता है. Apigee Edge से मिला स्टेटस कोड. यह कॉलबैक को स्टैक ट्रेस की गड़बड़ी पास करता है. इसमें यह मैसेज होता है: done(new Error(errMsg)); |
| गड़बड़ी | org, api, और revision, इन सभी की जानकारी देना ज़रूरी है! | कॉलबैक | यह फ़ेचप्रॉक्सी.js में थ्रो किया जाता है. कॉन्फ़िगरेशन गड़बड़ी. |
| गड़बड़ी | प्रॉक्सी फ़ेच करते समय, गड़बड़ी %d मिली: %j | कॉलबैक | यह फ़ेचप्रॉक्सी.js में थ्रो किया जाता है. स्टेटस कोड 200 के अलावा कोई और कोड. |
| गड़बड़ी | ऐप्लिकेशन नहीं बनाया जा सका. स्टेटस कोड %d है | कॉलबैक | इस कुकी को createapp.js में सेट किया जाता है. यह सभी गड़बड़ियों को स्टैक ट्रेस गड़बड़ियों के तौर पर, कॉलबैक पर वापस भेजता है. यह कंसोल प्रिंट या लॉग एंट्री नहीं बनाता है. |
| गड़बड़ी | command + ' स्टेटस कोड %d के साथ फ़ेल हो गया | कॉलबैक | command-utils.js में थ्रो किया गया. इस मॉड्यूल को पार्स की गई और पास की गई किसी भी कमांड के लिए, 200 या 201 के अलावा कोई भी कोड, गड़बड़ी का मैसेज जनरेट करेगा. इस मैसेज को फ़ॉर्मैट करता है, लेकिन इसे प्रिंट नहीं करता. यह मैसेज के साथ स्टैक ट्रेस की गड़बड़ी को वापस कॉल बैक पर भेजता है. |
| गड़बड़ी | शेयर किया गया फ़्लो फ़ेच करते समय, गड़बड़ी %d मिली: %s | कॉलबैक | यह गड़बड़ी fetchsharedflow.js में दिखती है. 200 के अलावा किसी भी एचटीटीपी स्टेटस के लिए. अगर यह प्रोसेस पूरी हो जाती है, लेकिन फ़ाइल नहीं लिखी जा पाती, तो यह कंसोल पर लिखता है: फ़ाइल नहीं लिखी जा सकी गड़बड़ी का टेक्स्ट: [stack_trace_error] |
| गड़बड़ी | Create KeySecret failed with status code %d', res.statusCode | कॉलबैक | यह कुकी, createappkey.js में सेट की जाती है. Apigee Edge से मिले ऐसे एचटीटीपी स्टेटस कोड के लिए जो 200 या 201 नहीं हैं. |
| गड़बड़ी | Create Cache failed with status code %d', res.statusCode | कॉलबैक | यह गड़बड़ी createcache.js में होती है. Apigee Edge से मिले ऐसे एचटीटीपी स्टेटस कोड के लिए जो 200 या 201 नहीं हैं. |
| गड़बड़ी | Create Product failed with status code %d', res.statusCode | कॉलबैक | यह कुकी, createproduct.js में सेट की जाती है. Apigee Edge से मिले ऐसे एचटीटीपी स्टेटस कोड के लिए जो 201 नहीं हैं. अगर एचटीटीपी स्टेटस 201 है, लेकिन रिस्पॉन्स में गड़बड़ी वाला JSON शामिल है, तो गड़बड़ी वाला JSON, कॉलबैक को भेज दिया जाता है. |
| गड़बड़ी | Delete App failed with status code %d', res.statusCode | कॉलबैक | यह कुकी, deleteapp.js में थ्रो की जाती है. Apigee Edge से मिले ऐसे एचटीटीपी स्टेटस कोड के लिए जो 200 नहीं हैं. अगर एचटीटीपी स्टेटस 200 है, लेकिन रिस्पॉन्स में गड़बड़ी वाला JSON शामिल है, तो गड़बड़ी वाला JSON, कॉलबैक को फ़ॉरवर्ड कर दिया जाता है. |
| गड़बड़ी | Create Developer failed with status code %d', res.statusCode | कॉलबैक | यह createdeveloper.js में थ्रो किया जाता है. Apigee Edge से मिले ऐसे एचटीटीपी स्टेटस कोड के लिए जो 201 नहीं हैं. अगर एचटीटीपी स्टेटस 201 है, लेकिन रिस्पॉन्स में गड़बड़ी वाला JSON शामिल है, तो गड़बड़ी वाला JSON, कॉलबैक को भेज दिया जाता है. |
| गड़बड़ी | Delete Developer failed with status code %d', res.statusCode | कॉलबैक | यह कुकी, deletedeveloper.js में थ्रो की जाती है. Apigee Edge से मिले ऐसे एचटीटीपी स्टेटस कोड के लिए जो 200 नहीं हैं. अगर एचटीटीपी स्टेटस 200 है, लेकिन रिस्पॉन्स में गड़बड़ी वाला JSON शामिल है, तो गड़बड़ी वाला JSON, कॉलबैक को फ़ॉरवर्ड कर दिया जाता है. |
प्लग-इन से जुड़ी गड़बड़ियां
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| 503 | Too busy. No messages in HTTP or console | ||
| default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth plug-in (v1) with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| Access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2 plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | uri parameter must be specified | apigeequota.js | |
| throw | key parameter must be specified | apigeequota.js | |
| callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
| callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
| callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
| callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | start time not allowed for month time units | quota.js. volos error on time format. | |
| throw | Invalid start time %s | quota.js. volos error on time format. | |
| throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
| throw | Invalid timeUnit %s | spikearrest.js | |
| callback | key must be a string | spikearrest.js | |
| throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase plug-in with descriptions of possible causes.
No errors generated.