การอ้างอิงข้อผิดพลาด Edge Microgateway

คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

หัวข้อนี้อธิบายข้อผิดพลาดและคำเตือนที่คุณอาจพบเมื่อใช้ Edge Microgateway

ข้อผิดพลาดทั่วไปของแอปพลิเคชัน

  • HTTP 500, ดำเนินการในตัวแฮนเดิลข้อผิดพลาดไม่สำเร็จ - ข้อผิดพลาดส่วนใหญ่จะมีหมายเลขนี้ รวมถึงข้อผิดพลาดบางอย่างที่แสดงผลจากเป้าหมาย โดยเฉพาะอย่างยิ่ง ระบบจะใช้ errors-middleware.js ตลอดทั้งโมดูล microgateway-core เมื่อใช้งาน ระบบจะเขียนสถานะรหัสไปยังการบันทึกโดยใช้ Microgateway ของ Edge 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

คําต่อไปนี้ซึ่งปรากฏในข้อมูลอ้างอิงข้อผิดพลาดในส่วน "ตัวแฮนเดิล" จะระบุวิธีจัดการข้อผิดพลาดต่างๆ ใน Edge Microgateway

  • assert: โดยปกติแล้ว Microgateway ของ Edge จะหยุดเมื่อการประเมินการยืนยันไม่สําเร็จ อย่างไรก็ตาม กรณีนี้อาจไม่เกิดขึ้นเสมอไป เนื่องจาก "การยืนยัน" จะแสดงข้อยกเว้นที่อาจพบ
  • throws: ระบบอาจหยุดทำงาน
  • การเรียกกลับ: ระบบจะส่งข้อผิดพลาดไปยังการเรียกกลับและอาจดำเนินการต่อ
ประเภท ข้อความ แฮนเดิล หมายเหตุ

โมดูล 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')
ข้อผิดพลาด callback ต้องแสดง ยืนยัน 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 is not a directory: + 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');
ข้อผิดพลาด ไม่มี config โยน เกี่ยวข้องกับไฟล์ yaml
ข้อผิดพลาด ดูเหมือนว่า edgemicro จะทำงานอยู่แล้ว console.error พยายามเขียนทับไฟล์ .sock
ข้อผิดพลาด ตรวจสอบการเปลี่ยนแปลงใน Config ไม่สำเร็จ จะลองอีกครั้งหลังจาก console.error ปัญหาเกี่ยวกับการสื่อสารของ Edge
ข้อผิดพลาด หากเซิร์ฟเวอร์ไม่ทํางาน อาจเป็นเพราะการปิดระบบที่ไม่ถูกต้องของการเปิดเครื่องครั้งก่อน console.error
ข้อผิดพลาด ไม่มี %s โปรดเรียกใช้ console.error ไม่มี (.*) โปรดเรียกใช้
ข้อผิดพลาด การโหลด edgemicro ซ้ำไม่สำเร็จ console.error ระดับคําสั่ง
ข้อผิดพลาด หยุด edgemicro ไม่สำเร็จ console.error ระดับคําสั่ง
ข้อผิดพลาด "ลองนำ ' + ipcPath + ' ออกแล้วเริ่มใหม่" 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
ข้อผิดพลาด เริ่มต้นไฟล์ configpath %s ไม่สำเร็จ console.error การกำหนดค่าไม่โหลด
ข้อผิดพลาด การตอบกลับจาก Region API ไม่ถูกต้อง console.error key-gen.js, cert-lib.js และ private.js
ข้อผิดพลาด ต้องระบุคีย์ console.error พารามิเตอร์
ข้อผิดพลาด ต้องระบุ org console.error พารามิเตอร์
ข้อผิดพลาด พอร์ตไม่พร้อมใช้งาน console.error พารามิเตอร์
ข้อผิดพลาด ต้องระบุข้อมูลลับ console.error พารามิเตอร์
ข้อผิดพลาด โปรโตคอล URL ที่ไม่รองรับ console.error ข้อมูลการกําหนดค่าระบุโปรโตคอลอินเทอร์เน็ตที่ไม่ได้อยู่ในขอบเขตของ Edge Microgateway
ข้อผิดพลาด verifying analytics negative case: FAIL console.error อาจขัดข้อง/ไม่สําเร็จ
ข้อผิดพลาด ยืนยันข้อมูลวิเคราะห์ด้วยเพย์โหลด: ล้มเหลว console.error อาจขัดข้อง/ไม่สําเร็จ
ข้อผิดพลาด ยืนยันความพร้อมใช้งานของ URL ของ Bootstrap:FAIL console.error อาจขัดข้อง/ไม่สําเร็จ
ข้อผิดพลาด ยืนยันความพร้อมใช้งานของ jwt_public_key: FAIL console.error อาจขัดข้อง/ไม่สําเร็จ
ข้อผิดพลาด ยืนยันความพร้อมจำหน่ายผลิตภัณฑ์: ไม่สำเร็จ console.error อาจขัดข้อง/ไม่สําเร็จ
ข้อผิดพลาด ยืนยันโควต้าด้วยผลิตภัณฑ์ที่กําหนดค่าแล้ว: ล้มเหลว console.error อาจเกิดข้อขัดข้อง/ไม่สําเร็จ
เตือน เรียกข้อมูลการกําหนดค่าจากเกตเวย์ไม่สําเร็จ ดําเนินการต่อ จะลองใช้สําเนาที่แคชไว้.. console.error
เตือน KVM มีอยู่ในองค์กรของคุณอยู่แล้ว console.log
เตือน มีการใช้งานอยู่แล้ว console.log
เตือน ไม่พบปลั๊กอินตามลําดับ console.warn
เตือน ไม่มี pluginDir %s console.log ไม่มี pluginDir (.*)

โมดูล microgateway-core

ข้อผิดพลาด ไม่ได้เริ่มต้น config ยืนยัน assert(config, 'config not initialized')
ข้อผิดพลาด ต้องมีการกำหนดค่า ยืนยัน assert(config, ' must have a config')
ข้อผิดพลาด ต้องมีการกําหนดค่า ยืนยัน assert(config, 'must have config')
ข้อผิดพลาด config ต้องมี uid ยืนยัน assert(config.uid, 'config must have uid');
ข้อผิดพลาด ต้องมีค่า config.edgemicro.logging ใน 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);
ข้อผิดพลาด options must contain config ยืนยัน assert(config, 'options must contain config')
ข้อผิดพลาด ต้องมีชื่อปลั๊กอิน ยืนยัน assert(name,"plugin must have a name")
ข้อผิดพลาด name ต้องเป็นสตริง ยืนยัน assert(_.isString(name),"name must be a string");
ข้อผิดพลาด plugin ต้องเป็นแบบฟังก์ชัน ยืนยัน 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 ปลั๊กอินไม่โหลด
ข้อผิดพลาด ดำเนินการในตัวแฮนเดิลข้อผิดพลาดไม่สำเร็จ Callback ฟังก์ชัน server.on() ของ HTTP
ข้อผิดพลาด ส่วนหัวมีความยาวเกินขนาดที่อนุญาต ข้อผิดพลาด HTTP ไม่เรียกใช้ปลั๊กอิน
ข้อผิดพลาด การตอบกลับเสร็จสิ้นก่อนที่งานจะเสร็จ logger.error ปลั๊กอินเป้าหมายไม่ทํางาน
ข้อผิดพลาด ตัวแฮนเดิลส่งข้อยกเว้น Callback จับข้อผิดพลาดจากปลั๊กอิน (catch)
ข้อผิดพลาด error starting edge micro Callback Edge Microgateway ไม่เริ่มทำงาน
ข้อผิดพลาด plugin ต้องเป็นแบบฟังก์ชัน โยน
เตือน console.error เตือน การเขียนบันทึก
เตือน ข้อผิดพลาด targetRequest invoke target error handling ข้อผิดพลาดของไคลเอ็นต์ HTTP ในการเชื่อมต่อกับเป้าหมาย
เตือน ข้อผิดพลาด targetResponse invoke target error handling ข้อผิดพลาดของเซิร์ฟเวอร์เป้าหมาย HTTP ในการเชื่อมต่อกับเป้าหมายตามที่เห็นในไคลเอ็นต์

โมดูล microgateway-config

ข้อผิดพลาด allow_message ยืนยัน assert(+config.quota.allow > 0, allow_message);
ข้อผิดพลาด ไม่มี config โยน ไฟล์ YAML สำหรับการกําหนดค่า
ข้อผิดพลาด config ว่างเปล่า โยน ไฟล์ YAML สำหรับการกําหนดค่า
ข้อผิดพลาด config ไม่ใช่ไฟล์ โยน ไฟล์ YAML สำหรับการกําหนดค่า
ข้อผิดพลาด ไม่ได้กําหนด config ยืนยัน 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 ยืนยัน 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 หากกําหนด config.edge_config.proxy_tunnel ยืนยัน 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 ยืนยัน 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 ไม่ใช่อาร์เรย์ ยืนยัน 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 ไม่ใช่ตัวเลข ยืนยัน assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number');
ข้อผิดพลาด ไม่ได้กําหนด config.proxy[ + index + ].max_connections ยืนยัน assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined');
ข้อผิดพลาด ไม่ได้กําหนด config.proxy[ + index + ].name ยืนยัน assert(proxy.name, 'config.proxy[' + index + '].name is not defined');
ข้อผิดพลาด ไม่ได้กําหนด config.proxy[ + index + ].proxy_name ยืนยัน assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined');
ข้อผิดพลาด ไม่ได้กําหนด config.proxy[ + index + ].revision ยืนยัน 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 ยืนยัน 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');
ข้อผิดพลาด ข้อผิดพลาดร้ายแรง: มีข้อผิดพลาดในการแยกวิเคราะห์รายการผลิตภัณฑ์ที่ดาวน์โหลด Callback
ข้อผิดพลาด ข้อผิดพลาดร้ายแรง: เกิดข้อผิดพลาดขณะแยกวิเคราะห์รายการพร็อกซีที่ดาวน์โหลด Callback
ข้อผิดพลาด ตรวจพบข้อผิดพลาดในการกำหนดค่าผลิตภัณฑ์ที่ไม่ถูกต้อง console.error ตามด้วย console.warn('using old cached configuration');
ข้อผิดพลาด เกิดข้อผิดพลาดในการอ่านการกําหนดค่าจาก โยน ไฟล์ YAML สำหรับการกําหนดค่า
ข้อผิดพลาด เกิดข้อผิดพลาดขณะบันทึกการกําหนดค่าไปยัง Callback ไฟล์ YAML สำหรับการกําหนดค่า
ข้อผิดพลาด ร้ายแรง: ไม่มีการกำหนดค่าที่แคชไว้ ดำเนินการต่อไม่ได้ Callback
ข้อผิดพลาด 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);
ข้อผิดพลาด ดูเหมือนว่า Edge Micro ยังไม่ได้กําหนดค่า โปรดดูคู่มือผู้ดูแลระบบ Callback ผลลัพธ์: โหลดการกําหนดค่าไม่สําเร็จ
ข้อผิดพลาด ไม่มีคีย์ ยืนยัน assert(keys.key, 'key is missing');
ข้อผิดพลาด must have configDir ยืนยัน assert(configDir, 'must have configDir')
ข้อผิดพลาด ต้องมีตัวเลือก ยืนยัน assert(options, 'must have options');
ข้อผิดพลาด must have source ยืนยัน assert(source, 'must have source')
ข้อผิดพลาด ต้องมีแหล่งที่มาที่จะโหลด ยืนยัน assert(options.source, 'must have source to load from')
ข้อผิดพลาด must have targetFile ยืนยัน assert(fileName, 'must have targetFile')
ข้อผิดพลาด options ต้องไม่เป็นค่า Null ยืนยัน assert(options, 'options cannot be null');
ข้อผิดพลาด options.keys ต้องไม่เป็นค่า Null ยืนยัน assert(options.keys, 'options.keys cannot be null');
ข้อผิดพลาด port_message ยืนยัน assert(+config.edgemicro.port < 65536, port_message);
ข้อผิดพลาด products ควรเป็นอาร์เรย์ ยืนยัน assert(Array.isArray(products), 'products should be an array');
ข้อผิดพลาด "พร็อกซีสําหรับผลิตภัณฑ์ ' + product + ' ควรเป็นอาร์เรย์" ยืนยัน 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');
เตือน เกิดข้อผิดพลาดขณะดาวน์โหลดการกําหนดค่า โปรดตรวจสอบการกําหนดค่า Bootstrap console.warn
เตือน ดาวน์โหลด jwt_public_key ไม่สำเร็จ console.warn
เตือน ไม่ได้เปิดใช้คีย์ jwk console.warn
เตือน message, 'download from', url, 'returned' console.warn ค้นหา: (.*)\sdownload from\s(.*)\sreturned
เตือน ไม่พบผลิตภัณฑ์ Edge Micro ในการตอบกลับ console.warn
เตือน ไม่พบพร็อกซีขนาดเล็กของ Edge ในองค์กร console.warn
เตือน ไม่พบพร็อกซีขนาดเล็กของ Edge ในคำตอบ console.warn
เตือน ไม่พบผลิตภัณฑ์ใน org console.warn
เตือน ไม่พบผลิตภัณฑ์ในการตอบกลับ console.warn
เตือน ใช้การกําหนดค่าที่แคชไว้เก่า console.warn

โมดูล microgateway-plugins

ข้อผิดพลาด ไม่มี config โยน เกี่ยวข้องกับไฟล์ yaml
ข้อผิดพลาด apikey การตอบสนองของ HTTP ปลั๊กอิน apiky ไม่สําเร็จ
ข้อผิดพลาด bauth การตอบสนองของ HTTP ปลั๊กอิน bauth ไม่สำเร็จ
ข้อผิดพลาด extauth การตอบสนองของ HTTP ปลั๊กอิน extauth ไม่สำเร็จ
ข้อผิดพลาด OAuth การตอบสนองของ HTTP ปลั๊กอิน OAuth ไม่สำเร็จ
เตือน เกิดข้อผิดพลาดขณะประมวลผลข้อมูลวิเคราะห์ของ Apigee อนุญาตให้ดำเนินการตามคำขอต่อไป logger.error
เตือน ignoring err console.warn ปลั๊กอิน apikeys, oauth และ oauthv2
เตือน error parsing jwt: console.warn
เตือน ออบเจ็กต์คำตอบของ Oath ไม่มี setHeader console.warn ข้อผิดพลาดเกี่ยวกับพารามิเตอร์ oauth บ่งชี้ว่าระบบจะไม่รายงานข้อผิดพลาดบางรายการ
เตือน รันไทม์ไม่ได้ให้ออบเจ็กต์คำตอบของ Oath console.warn ข้อผิดพลาดเกี่ยวกับพารามิเตอร์ oauth
เตือน รันไทม์ไม่ได้ให้ออบเจ็กต์สถิติของ Oath console.warn ข้อผิดพลาดเกี่ยวกับพารามิเตอร์ oauth

โมดูล apigeetool-node

ข้อผิดพลาด ลบแคชไม่สําเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน deletecache.js รหัสสถานะจาก Apigee Edge ส่งข้อผิดพลาดสแต็กเทรซไปยังการเรียกกลับพร้อมข้อความนี้ done(new Error(errMsg));
ข้อผิดพลาด ลบผลิตภัณฑ์ไม่สำเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน deleteproduct.js รหัสสถานะจาก Apigee Edge ส่งข้อผิดพลาดสแต็กเทรซไปยังการเรียกกลับพร้อมข้อความนี้ done(new Error(errMsg));
ข้อผิดพลาด ต้องระบุ org, api และ revision ทั้งหมด Callback แสดงใน fetchproxy.js ข้อผิดพลาดของการกำหนดค่า
ข้อผิดพลาด ได้รับข้อผิดพลาด %d เมื่อดึงข้อมูลพร็อกซี: %j Callback แสดงใน fetchproxy.js รหัสสถานะอื่นที่ไม่ใช่ 200
ข้อผิดพลาด สร้างแอปไม่สำเร็จโดยมีรหัสสถานะ %d Callback แสดงใน createapp.js ส่งข้อผิดพลาดทั้งหมดกลับไปยังการเรียกกลับเป็นข้อผิดพลาดสแต็กเทรซ ไม่แสดงรายการคอนโซลหรือรายการบันทึก
ข้อผิดพลาด คำสั่ง + ' ไม่สำเร็จโดยมีรหัสสถานะ %d Callback แสดงใน command-utils.js สําหรับคําสั่งใดก็ตามที่แยกวิเคราะห์และส่งไปยังโมดูลนี้ โค้ดที่ไม่ใช่ 200 หรือ 201 จะสร้างข้อความแสดงข้อผิดพลาด จัดรูปแบบข้อความนี้แต่ไม่พิมพ์ ส่งข้อผิดพลาดสแต็กเทรซพร้อมข้อความกลับไปที่การเรียกกลับ
ข้อผิดพลาด ได้รับข้อผิดพลาด %d เมื่อดึงข้อมูลขั้นตอนที่แชร์: %s Callback แสดงใน fetchsharedflow.js สำหรับสถานะ HTTP ที่ไม่ใช่ 200 หากดำเนินการสำเร็จแต่เขียนไฟล์ไม่สำเร็จ ระบบจะเขียนลงในคอนโซล ดังนี้
เขียนไฟล์ไม่สำเร็จ
ข้อความแสดงข้อผิดพลาด: [stack_trace_error]
ข้อผิดพลาด สร้าง KeySecret ไม่สําเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน createappkey.js สําหรับรหัสสถานะ HTTP จาก Apigee Edge ที่ไม่ใช่ 200 หรือ 201
ข้อผิดพลาด สร้างแคชไม่สําเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน createcache.js สําหรับรหัสสถานะ HTTP จาก Apigee Edge ที่ไม่ใช่ 200 หรือ 201
ข้อผิดพลาด สร้างผลิตภัณฑ์ไม่สำเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน createproduct.js สําหรับรหัสสถานะ HTTP จาก Apigee Edge ที่ไม่ใช่ 201 หากสถานะ HTTP คือ 201 แต่การตอบกลับมี JSON ข้อผิดพลาด ระบบจะส่งต่อ JSON ข้อผิดพลาดไปยังการเรียกกลับ
ข้อผิดพลาด ลบแอปไม่สำเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน deleteapp.js สําหรับรหัสสถานะ HTTP จาก Apigee Edge ที่ไม่ใช่ 200 หากสถานะ HTTP คือ 200 แต่การตอบกลับมี JSON ข้อผิดพลาด ระบบจะส่งต่อ JSON ข้อผิดพลาดไปยังการเรียกกลับ
ข้อผิดพลาด สร้างนักพัฒนาแอปไม่สำเร็จด้วยรหัสสถานะ %d', res.statusCode Callback แสดงใน createdeveloper.js สําหรับรหัสสถานะ HTTP จาก Apigee Edge ที่ไม่ใช่ 201 หากสถานะ HTTP คือ 201 แต่การตอบกลับมี JSON ข้อผิดพลาด ระบบจะส่งต่อ JSON ข้อผิดพลาดไปยังการเรียกกลับ
ข้อผิดพลาด ลบนักพัฒนาแอปไม่สำเร็จด้วยรหัสสถานะ %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.

Parsing errors are sent to a callback.

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
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
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
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
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.