אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
בנושא הזה מתוארות שגיאות ואזהרות שאתם עשויים להיתקל בהן ב-Edge Microgateway.
שגיאות כלליות באפליקציה
HTTP 500, נכשל בטיפול בשגיאות – לרוב השגיאות יהיה המספר הזה, וגם לחלק מהשגיאות שמוחזרות מיעדים. באופן ספציפי, נעשה שימוש ב-errors-middleware.js בכל המודול microgateway-core. כשמשתמשים בו, הוא כותב את statusCodes לרישום ביומן באמצעות Edge Microgateway
logger object: logger.error(err, 'failed in error handler');. במקרה של קודים שמתקבלים מיעדים בין 100 ל-300, הקובץ errors-middleware.js משכתב את statusCode ל-500 כדי להחזיר אותו ללקוח.HTTP 404 – יכול להיות שהסטטוס הזה יופיע כדוח קריסות עם ההודעה,
no match found for [API_path_name].
שגיאות ואזהרות במודול
אפשר להשתמש במידע הזה כדי להגדיר התראות שיעזרו לכם לעקוב אחרי הפריסה של Edge Microgateway ולנהל אותה.
המונחים הבאים, שמופיעים בהפניה לשגיאות בקטע Handler, מציינים איך שגיאות שונות מטופלות ב-Edge Microgateway.
- assert: בדרך כלל, Edge Microgateway יפסיק לפעול אם הערכת assert תיכשל. עם זאת, זה לא תמיד המצב, כי הפונקציה assert מעלה חריגים שאפשר לטפל בהם.
- throws: השבתה אפשרית של המערכת.
- callback: השגיאה מועברת ל-callback והמערכת עשויה להמשיך.
| סוג | שליחת הודעה | Handler | הערות |
|---|---|---|---|
מודול microgateway |
|||
| error | חובה לציין ארגון | להצהיר בעלות | assert(options.org,"org is required"); |
| error | חובה לציין env | להצהיר בעלות | assert(options.env,"env is required") |
| error | חובה להזין שם משתמש | להצהיר בעלות | assert(options.username || options.token,"username is required"); |
| error | נדרשת סיסמה | להצהיר בעלות | assert(options.password || options.token,"password is required") |
| error | חובה לציין ארגון | להצהיר בעלות | assert(options.org,"org is required"); |
| error | חובה לציין env | להצהיר בעלות | assert(options.env,"env is required") |
| error | חובה להזין שם משתמש | להצהיר בעלות | assert(options.username || options.token,"username is required"); |
| error | נדרשת סיסמה | להצהיר בעלות | assert(options.password || options.token,"password is required") |
| error | חובה לציין ארגון | להצהיר בעלות | assert(options.org,"org is required"); |
| error | חובה לציין env | להצהיר בעלות | assert(options.env,"env is required") |
| error | חובה לציין ארגון | להצהיר בעלות | assert(options.org,"org is required"); |
| error | חובה לציין env | להצהיר בעלות | assert(options.env,"env is required") |
| error | חובה להזין שם משתמש | להצהיר בעלות | assert(options.username, 'username is required'); |
| error | נדרשת סיסמה | להצהיר בעלות | assert(options.password, 'password is required'); |
| error | חובה לציין ארגון | להצהיר בעלות | assert(options.org, 'org is required'); |
| error | חובה לציין env | להצהיר בעלות | assert(options.env, 'env is required'); |
| error | חייב להיות קובץ יעד מוקצה | להצהיר בעלות | assert(targetFile, 'must have an assigned target file') |
| error | חייב להיות מפתח | להצהיר בעלות | assert(key, 'must have a key'); |
| error | חייב לכלול סוד | להצהיר בעלות | assert(secret, 'must have a secret'); |
| error | חובה להגדיר את dir | להצהיר בעלות | assert(dir, 'dir must be configured') |
| error | חובה לציין התקשרות חזרה | להצהיר בעלות | assert(callback, 'callback must be present') |
| error | חובה להזין שם משתמש | להצהיר בעלות | assert(options.username, 'username is required'); |
| error | נדרשת סיסמה | להצהיר בעלות | assert(options.password, 'password is required'); |
| error | חובה לציין ארגון | להצהיר בעלות | assert(options.org, 'org is required'); |
| error | חובה לציין env | להצהיר בעלות | assert(options.env, 'env is required'); |
| error | חובה לציין runtimeUrl | להצהיר בעלות | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| error | חובה לציין את כתובת ה-URL של הניהול | להצהיר בעלות | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| error | חובה להעלות קובץ | להצהיר בעלות | assert(options.file,"file is required") |
| error | חובה לציין יעד | להצהיר בעלות | assert(options.target, 'must have target'); |
| error | לא הוגדרו פלאגינים | להצהיר בעלות | assert(config.edgemicro.plugins, 'plugins not configured'); |
| error | plugin dir does not exist: + pluginDir | להצהיר בעלות | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| error | plugin dir is not a directory: + pluginDir | להצהיר בעלות | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| error | שגיאה בקריאת ספריית הפלאגין: + pluginDir | להצהיר בעלות | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| error | חייב לכלול אסימון | להצהיר בעלות | assert(token, 'must have a token'); |
| error | configpath לא יכול להיות ריק | להצהיר בעלות | assert(config, 'configpath can't be empty'); |
| error | חובה להזין EDGEMICRO_KEY | להצהיר בעלות | assert(key, 'must have EDGEMICRO_KEY'); |
| error | חייב להיות EDGEMICRO_SECRET | להצהיר בעלות | assert(secret, 'must have EDGEMICRO_SECRET'); |
| error | ההגדרה לא קיימת | הקפצת הודעות שגיאה ( | related to yaml file |
| error | נראה ש-edgemicro כבר פועל. | console.error | מנסה להחליף קובץ .sock |
| error | לא הצלחנו לבדוק אם יש שינוי בהגדרות. יתבצע ניסיון נוסף אחרי | console.error | בעיה בתקשורת עם שרת קצה |
| error | אם השרת לא פועל, יכול להיות שהסיבה לכך היא כיבוי לא תקין של ההפעלה הקודמת. | console.error | |
| error | חסר %s, צריך להריץ | console.error | חסר (.*), צריך להריץ |
| error | הטעינה מחדש של edgemicro נכשלה | console.error | רמת הפקודה |
| error | הפסקת edgemicro נכשלה | console.error | רמת הפקודה |
| error | 'כדאי לנסות להסיר את ' + ipcPath + ' ולהתחיל מחדש' | console.error | |
| error | 'cache configuration ' + cache + ' does not exist. exiting.' | console.error | |
| error | לא ניתן לכתוב בקובץ התצורה: | console.error | ההגדרה תיכשל |
| error | קובץ התצורה לא הורד: | console.error | ההגדרה תיכשל |
| error | הפעלת המיקרופון ב-Edge נכשלה | console.error | היא לא אמורה לפעול |
| error | edgemicro לא פועל. | console.error | תהליך הבדיקה לא אמור להופיע |
| error | חובה לציין env | console.error | משתני סביבה שנדרשים להפעלה |
| error | שגיאה – עריכה של Callout.xml ב-apiproxy | console.error | גישה לקובץ |
| error | שגיאה – עריכת apiproxy default.xml | console.error | גישה לקובץ |
| error | שגיאה בבדיקת האישור. מתבצעת התקנה של אישור חדש. | console.error | אי אפשר להשתמש במפתח ציבורי |
| error | שגיאה באחזור האזור של הארגון | console.error | key-gen.js, cert-lib.js ו-private.js |
| error | שגיאה בהעלאת פרטי הכניסה | console.error | אי אפשר לסנכרן את המפתח הציבורי עם Edge |
| error | נכשל | console.error | key-gen.js |
| error | הפעלת קובץ configpath %s נכשלה | console.error | ההגדרות האישיות לא נטענות |
| error | תגובה לא תקינה מ-API של אזור | console.error | key-gen.js, cert-lib.js ו-private.js |
| error | חובה למלא מפתח | console.error | פרמטר |
| error | חובה לציין ארגון | console.error | פרמטר |
| error | היציאה לא זמינה. | console.error | פרמטר |
| error | חובה לציין סוד | console.error | פרמטר |
| error | הפרוטוקול של כתובת ה-URL לא נתמך: | console.error | פרטי ההגדרה מציינים פרוטוקול אינטרנט שלא נכלל בהיקף של Edge Microgateway |
| error | verifying analytics negative case: FAIL | console.error | יכול להיות שהאפליקציה תקרוס או תיכשל |
| error | אימות ניתוח הנתונים באמצעות מטען ייעודי (payload): נכשל | console.error | יכול להיות שהאפליקציה תקרוס או תיכשל |
| error | אימות הזמינות של כתובת ה-URL של האתחול:נכשל | console.error | יכול להיות שהאפליקציה תקרוס או תיכשל |
| error | אימות הזמינות של jwt_public_key: נכשל | console.error | יכול להיות שהאפליקציה תקרוס או תיכשל |
| error | אימות זמינות המוצרים: נכשל | console.error | יכול להיות שהאפליקציה תקרוס או תיכשל |
| error | אימות המכסה עם מוצרים מוגדרים: נכשל | console.error | יכול להיות שהאפליקציה תקרוס או תיכשל |
| אזהרה | לא הצלחנו לאחזר את ההגדרה מהשער. ממשיכים, ננסה עותק במטמון.. | console.error | |
| אזהרה | KVM כבר קיים בארגון שלכם | console.log | |
| אזהרה | כבר נפרס | console.log | |
| אזהרה | לא נמצא פלאגין עם רצף: | console.warn | |
| אזהרה | התוסף pluginDir %s לא קיים | console.log | pluginDir (.*) לא קיים |
מודול microgateway-core |
|||
| error | ההגדרה לא אותחלה | להצהיר בעלות | assert(config, 'config not initialized') |
| error | חייבת להיות הגדרה | להצהיר בעלות | assert(config, ' must have a config') |
| error | חייבת להיות הגדרה | להצהיר בעלות | assert(config, 'must have config') |
| error | בהגדרה צריך להיות uid | להצהיר בעלות | assert(config.uid, 'config must have uid'); |
| error | צריך להגדיר את config.edgemicro.logging בהגדרה | להצהיר בעלות | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| error | חובה לציין שיטת בקשה | להצהיר בעלות | assert(httpLibrary.request, 'must have request method'); |
| error | חייב להיות תוסף שנטען בזיכרון | להצהיר בעלות | assert(options.plugin, "must have plugin loaded in memory"); |
| error | הפונקציה init חייבת להיות פונקציה | להצהיר בעלות | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| error | חייב לכלול את שם הפלאגין | להצהיר בעלות | assert(options.pluginName, "must have plugin name"); |
| error | מתעלם משמות וממטפלים לא תקינים של תוספים | להצהיר בעלות | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| error | האפשרויות חייבות להכיל הגדרה | להצהיר בעלות | assert(config, 'options must contain config') |
| error | לתוסף חייב להיות שם | להצהיר בעלות | assert(name,"plugin must have a name") |
| error | השם חייב להיות מחרוזת | להצהיר בעלות | assert(_.isString(name),"name must be a string"); |
| error | הפלאגין חייב להיות פונקציה | להצהיר בעלות | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| error | חייב להיות מפתח | להצהיר בעלות | assert(key, 'must have a key'); |
| error | חייב לכלול סוד | להצהיר בעלות | assert(secret, 'must have a secret'); |
| error | חייבת להיות ספריית הגדרות מקור | להצהיר בעלות | assert(source, 'must have a source config directory'); |
| error | שגיאה בטעינת התוסף | console.error | הפלאגין לא נטען |
| error | הפעולה נכשלה בטיפול בשגיאות | callback | הפונקציה HTTP server.on() |
| error | אורך הכותרת גדול מהגודל המותר | שגיאת HTTP | הפלאגין לא פועל |
| error | התשובה הסתיימה לפני שהעבודה יכלה להתבצע | logger.error | הפלאגין Target לא פועל |
| error | הגורם המטפל דחה חריג | callback | שגיאה בצילום מהפלאגין (catch) |
| error | שגיאה בהפעלת Edge Micro | callback | Edge Microgateway לא מופעל |
| error | הפלאגין חייב להיות פונקציה | הקפצת הודעות שגיאה ( | |
| אזהרה | console.error | אזהרה | כתיבת יומן |
| אזהרה | שגיאה בבקשת היעד | הפעלת טיפול בשגיאות ביעד | שגיאה בלקוח HTTP בהקשר של היעד |
| אזהרה | שגיאה ב-targetResponse | הפעלת טיפול בשגיאות ביעד | שגיאה בשרת היעד של HTTP בחיבור ליעד כפי שמופיעה בלקוח |
מודול microgateway-config |
|||
| error | allow_message | להצהיר בעלות | assert(+config.quota.allow > 0, allow_message); |
| error | ההגדרה לא קיימת | הקפצת הודעות שגיאה ( | קובץ yaml של ההגדרות |
| error | ההגדרה ריקה | הקפצת הודעות שגיאה ( | קובץ yaml של ההגדרות |
| error | ההגדרה היא לא קובץ | הקפצת הודעות שגיאה ( | קובץ yaml של ההגדרות |
| error | config is not defined | להצהיר בעלות | assert(config, 'config is not defined'); |
| error | הערך של config.analytics.batchSize לא תקין | להצהיר בעלות | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| error | config.analytics.batchSize הוא לא מספר | להצהיר בעלות | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| error | הערך של config.analytics.bufferSize לא תקין | להצהיר בעלות | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| error | config.analytics.bufferSize is not a number | להצהיר בעלות | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| error | הערך של config.analytics.flushInterval לא תקין | להצהיר בעלות | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| error | config.analytics.flushInterval is not a number | להצהיר בעלות | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| error | config.analytics.proxy is not "dummy" | להצהיר בעלות | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| error | config.analytics.proxy לא מוגדר | להצהיר בעלות | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| error | config.analytics.proxy_revision הוא לא מספר | להצהיר בעלות | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| error | config.analytics.proxy_revision לא מוגדר | להצהיר בעלות | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| error | config.analytics.source הוא לא microgateway | להצהיר בעלות | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| error | config.analytics.source לא מוגדר | להצהיר בעלות | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| error | config.analytics.uri הוא לא מחרוזת | להצהיר בעלות | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| error | config.analytics.uri לא מוגדר | להצהיר בעלות | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| error | config.apikeys.public_key לא מוגדר | להצהיר בעלות | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| error | config.edge_config לא מוגדר | להצהיר בעלות | assert(config.edge_config, 'config.edge_config is not defined'); |
| error | config.edge_config.bootstrap לא מוגדר | להצהיר בעלות | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| error | config.edge_config.jwt_public_key לא מוגדר | להצהיר בעלות | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| error | אם מוגדר 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'); |
| error | config.edge_config.proxy_tunnel הוא לא ערך בוליאני | להצהיר בעלות | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| error | config.edge_config.refresh_interval הוא לא מספר | להצהיר בעלות | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| error | הערך של config.edge_config.refresh_interval קטן מדי (הערך המינימלי הוא שעה אחת) | להצהיר בעלות | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| error | config.edge_config.retry_interval הוא לא מספר | להצהיר בעלות | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| error | הערך של config.edge_config.retry_interval קטן מדי (הערך המינימלי הוא 5 שניות) | להצהיר בעלות | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| error | config.edgemicro לא מוגדר | להצהיר בעלות | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| error | config.edgemicro.logging לא מוגדר | להצהיר בעלות | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| error | config.edgemicro.logging.dir לא מוגדר | להצהיר בעלות | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| error | config.edgemicro.logging.level לא מוגדר | להצהיר בעלות | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| error | config.edgemicro.max_connections הוא לא מספר | להצהיר בעלות | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| error | config.edgemicro.max_connections לא מוגדר | להצהיר בעלות | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| error | config.edgemicro.plugins.sequence הוא לא מערך | להצהיר בעלות | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| error | config.edgemicro.port לא מוגדר | להצהיר בעלות | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| error | config.oauth.allowInvalidAuthorization לא מוגדר | להצהיר בעלות | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| error | config.oauth.allowNoAuthorization לא מוגדר | להצהיר בעלות | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| error | config.oauth.public_key לא מוגדר | להצהיר בעלות | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| error | config.oauthv2.public_key לא מוגדר | להצהיר בעלות | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| error | config.proxies לא מוגדר | להצהיר בעלות | assert(config.proxies, 'config.proxies is not defined'); |
| error | config.proxy[ + index + ].base_path לא מוגדר | להצהיר בעלות | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| error | config.proxy[ + index + ].max_connections is not a number | להצהיר בעלות | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| error | config.proxy[ + index + ].max_connections לא מוגדר | להצהיר בעלות | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| error | config.proxy[ + index + ].name לא מוגדר | להצהיר בעלות | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| error | config.proxy[ + index + ].proxy_name לא מוגדר | להצהיר בעלות | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| error | config.proxy[ + index + ].revision לא מוגדר | להצהיר בעלות | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| error | config.proxy[ + index + ].url לא מוגדר | להצהיר בעלות | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| error | config.quota.allow is not a number | להצהיר בעלות | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| error | לא מוגדר config.quota.allow | להצהיר בעלות | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| error | config.quota.interval is not a number | להצהיר בעלות | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| error | config.quota.interval לא מוגדר | להצהיר בעלות | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| error | config.spikearrest לא מוגדר | להצהיר בעלות | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| error | הערך של config.spikearrest.allow לא תקין | להצהיר בעלות | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| error | הערך של config.spikearrest.allow הוא לא מספר | להצהיר בעלות | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| error | config.spikearrest.allow לא מוגדר | להצהיר בעלות | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| error | הערך של config.spikearrest.bufferSize לא תקין | להצהיר בעלות | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| error | config.spikearrest.bufferSize הוא לא מספר | להצהיר בעלות | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| error | config.spikearrest.timeUnit לא מוגדר | להצהיר בעלות | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| error | CRITICAL ERROR: error parsing downloaded product list | callback | |
| error | שגיאה קריטית: שגיאה בניתוח רשימת ה-proxy שהורדה | callback | |
| error | זוהתה שגיאה בהגדרת המוצר | console.error | אחריו console.warn('using old cached configuration'); |
| error | שגיאה בקריאת ההגדרה מתוך | הקפצת הודעות שגיאה ( | קובץ yaml של ההגדרות |
| error | שגיאה בשמירת ההגדרה אל | callback | קובץ yaml של ההגדרות |
| error | fatal: cached config not available, unable to continue | callback | |
| error | interval_message | להצהיר בעלות | assert(+config.quota.interval > 0, interval_message); |
| error | פרוטוקול לא חוקי עבור 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); |
| error | מארח proxy לא חוקי עבור config.edge_config.proxy | להצהיר בעלות | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| error | נראה ש-Edge Micro לא הוגדר. אפשר לעיין במדריך לאדמין | callback | תוצאה: טעינת ההגדרות נכשלה |
| error | חסר מפתח | להצהיר בעלות | assert(keys.key, 'key is missing'); |
| error | חובה להגדיר את configDir | להצהיר בעלות | assert(configDir, 'must have configDir') |
| error | אפשרויות חובה | להצהיר בעלות | assert(options, 'must have options'); |
| error | חייב להיות מקור | להצהיר בעלות | assert(source, 'must have source') |
| error | חייב להיות מקור לטעינה | להצהיר בעלות | assert(options.source, 'must have source to load from') |
| error | חייב להיות targetFile | להצהיר בעלות | assert(fileName, 'must have targetFile&#�') |
| error | האפשרויות לא יכולות להיות null | להצהיר בעלות | assert(options, 'options cannot be null'); |
| error | options.keys לא יכול להיות null | להצהיר בעלות | assert(options.keys, 'options.keys cannot be null'); |
| error | port_message | להצהיר בעלות | assert(+config.edgemicro.port < 65536, port_message); |
| error | המוצרים צריכים להיות מערך | להצהיר בעלות | assert(Array.isArray(products), 'products should be an array'); |
| error | 'proxies for product ' + product + ' should be an array' | להצהיר בעלות | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| error | חסר סוד | להצהיר בעלות | assert(keys.secret, 'secret is missing'); |
| error | לא הוגדר יעד | להצהיר בעלות | assert(target, 'target is not set'); |
| אזהרה | שגיאה בהורדת ההגדרות. צריך לבדוק את הגדרות האתחול. | console.warn | |
| אזהרה | failed to download jwt_public_key | console.warn | |
| אזהרה | מפתחות JWK לא מופעלים | console.warn | |
| אזהרה | message, 'download from', url, 'returned' | console.warn | חיפוש אחר: (.*)\sdownload from\s(.*)\sreturned |
| אזהרה | no edge micro products found in response | console.warn | |
| אזהרה | לא נמצאו פרוקסי מיקרו של Edge בארגון | console.warn | |
| אזהרה | no edge micro proxies found in response | console.warn | |
| אזהרה | לא נמצאו מוצרים בארגון | console.warn | |
| אזהרה | לא נמצאו מוצרים בתשובה | console.warn | |
| אזהרה | שימוש בהגדרות ישנות ששמורות במטמון | console.warn | |
מודול microgateway-plugins |
|||
| error | ההגדרה לא קיימת | הקפצת הודעות שגיאה ( | קשור לקובץ YAML |
| error | apikey | תגובת HTTP | כשלים בפלאגין apiky |
| error | bauth | תגובת HTTP | כשלים בפלאגין bauth |
| error | extauth | תגובת HTTP | כשלים בפלאגין extauth |
| error | Oauth | תגובת HTTP | כשלים בפלאגין OAuth |
| אזהרה | אירעה שגיאה בעיבוד נתוני הניתוח של Apigee. מאפשרים להמשיך בעיבוד הבקשה | logger.error | |
| אזהרה | התעלמות משגיאה | console.warn | תוספים של apikeys, oauth ו-oauthv2 |
| אזהרה | שגיאה בניתוח ה-JWT: | console.warn | |
| אזהרה | באובייקט התגובה של OAuth חסרה הפונקציה setHeader | console.warn | שגיאה בפרמטר oauth מציינת שחלק מהשגיאות לא ידווחו. |
| אזהרה | אובייקט התגובה של OAuth לא מסופק על ידי זמן הריצה | console.warn | שגיאה בפרמטר oauth |
| אזהרה | אובייקט הנתונים הסטטיסטיים של OAuth לא מסופק על ידי זמן הריצה | console.warn | שגיאה בפרמטר oauth |
מודול apigeetool-node |
|||
| error | Delete Cache failed with status code %d', res.statusCode | callback | השגיאה נוצרה בקובץ deletecache.js. קוד הסטטוס מ-Apigee Edge. הפונקציה מעבירה אל קריאה חוזרת (callback) שגיאה של דוח קריסות עם ההודעה הבאה: done(new Error(errMsg)); |
| error | המחיקה של המוצר נכשלה עם קוד הסטטוס %d', res.statusCode | callback | השגיאה נוצרת בקובץ deleteproduct.js. קוד הסטטוס מ-Apigee Edge. הפונקציה מעבירה אל קריאה חוזרת (callback) שגיאה של דוח קריסות עם ההודעה הבאה: done(new Error(errMsg)); |
| error | חובה לציין את org, api ו-revision! | callback | השגיאה נוצרת ב-fetchproxy.js. שגיאת הגדרה. |
| error | התקבלה שגיאה %d בזמן אחזור שרת proxy: %j | callback | השגיאה נוצרת ב-fetchproxy.js. קוד סטטוס שונה מ-200. |
| error | יצירת האפליקציה נכשלה עם קוד הסטטוס %d | callback | השגיאה נוצרת ב-createapp.js. מעביר את כל השגיאות בחזרה לקריאות חוזרות (callback) כשגיאות של דוח קריסות. לא מתבצעת הדפסה במסוף או רשומות ביומן. |
| error | הפקודה command + ' נכשלה עם קוד הסטטוס %d | callback | השגיאה נוצרת בקובץ command-utils.js. לכל פקודה שמנותחת ומועברת למודול הזה, כל קוד שאינו 200 או 201 ייצור הודעת שגיאה. מעצב את ההודעה אבל לא מדפיס אותה. מעבירה שגיאה של דוח קריסות עם ההודעה בחזרה לקריאות חוזרות (callback). |
| error | התקבלה שגיאה מספר %d במהלך אחזור של תהליך משותף: %s | callback | השגיאה נוצרת ב-fetchsharedflow.js. לכל סטטוס HTTP שאינו 200. אם הפעולה מצליחה אבל הכתיבה לקובץ נכשלת, המערכת כותבת במסוף: הכתיבה לקובץ נכשלה טקסט השגיאה: [stack_trace_error] |
| error | יצירת KeySecret נכשלה עם קוד סטטוס %d', res.statusCode | callback | השגיאה מופיעה בקובץ createappkey.js. קודי סטטוס HTTP מ-Apigee Edge שאינם 200 או 201. |
| error | יצירת מטמון נכשלה עם קוד סטטוס %d', res.statusCode | callback | השגיאה נוצרת ב-createcache.js. קודי סטטוס HTTP מ-Apigee Edge שאינם 200 או 201. |
| error | יצירת המוצר נכשלה עם קוד הסטטוס %d', res.statusCode | callback | השגיאה נוצרת ב-createproduct.js. קודי סטטוס HTTP מ-Apigee Edge שאינם 201. אם סטטוס ה-HTTP הוא 201 אבל התגובה כוללת JSON של שגיאה, ה-JSON של השגיאה מועבר אל הקריאה החוזרת. |
| error | המחיקה של האפליקציה נכשלה עם קוד הסטטוס %d', res.statusCode | callback | השגיאה נוצרת ב-deleteapp.js. קודי סטטוס HTTP מ-Apigee Edge שאינם 200. אם סטטוס ה-HTTP הוא 200 אבל התגובה כוללת JSON של שגיאה, ה-JSON של השגיאה מועבר אל הקריאה החוזרת. |
| error | יצירת חשבון פיתוח נכשלה עם קוד הסטטוס %d', res.statusCode | callback | השגיאה נוצרת ב-createdeveloper.js. קודי סטטוס HTTP מ-Apigee Edge שאינם 201. אם סטטוס ה-HTTP הוא 201 אבל התגובה כוללת JSON של שגיאה, ה-JSON של השגיאה מועבר אל הקריאה החוזרת. |
| error | המחיקה של חשבון הפיתוח נכשלה עם קוד הסטטוס %d', res.statusCode | callback | השגיאה נוצרת בקובץ deletedeveloper.js. קודי סטטוס HTTP מ-Apigee Edge שאינם 200. אם סטטוס ה-HTTP הוא 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.