Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
Chủ đề này mô tả các lỗi và cảnh báo mà bạn có thể gặp phải với Edge Microgateway.
Lỗi ứng dụng chung
HTTP 500, failed trong trình xử lý lỗi – Hầu hết lỗi sẽ có số này, cũng như một số lỗi được trả về từ mục tiêu. Cụ thể, errors-middleware.js được sử dụng xuyên suốt mô-đun microgateway-core. Khi được sử dụng, tiện ích này sẽ ghi statusCodes vào nhật ký bằng cách sử dụng Edge Microgateway
logger object: logger.error(err, 'failed in error handler');
. Đối với mã nhận được từ các mục tiêu nằm trong khoảng từ 100 đến 300, errors-middleware.js ghi lại statusCode thành 500 để trả về cho ứng dụng khách.HTTP 404 – Bạn có thể thấy trạng thái này được tạo dưới dạng dấu vết ngăn xếp kèm theo thông báo,
no match found for [API_path_name]
.
Lỗi và cảnh báo mô-đun
Bạn có thể sử dụng thông tin này để định cấu hình các cảnh báo giúp bạn theo dõi và quản lý việc triển khai Edge Microgateway.
Các thuật ngữ sau xuất hiện trong tài liệu tham khảo về lỗi trong phần "Trình xử lý" cho biết cách xử lý các lỗi khác nhau trong Edge Microgateway.
- assert: Thông thường, Edge Microgateway sẽ dừng khi quá trình đánh giá xác nhận không thành công. Tuy nhiên, không phải lúc nào điều đó cũng đúng vì "xác nhận" sẽ gửi các ngoại lệ có thể phát hiện được.
- throws (gửi): Hệ thống có thể ngừng hoạt động.
- callback: Lỗi được chuyển đến một lệnh gọi lại và hệ thống có thể tiếp tục.
Loại | Thông điệp | Trình xử lý | Ghi chú |
---|---|---|---|
Mô-đun cổng vi mô |
|||
error | bắt buộc phải có tổ chức | assert | validation(options.org,"org là bắt buộc"); |
error | bắt buộc phải có env | assert | validation(options.env,"bắt buộc phải có env") |
error | tên người dùng là bắt buộc | assert | Xác nhận(options.username|options.token,"tên người dùng là bắt buộc"); |
error | mật khẩu là bắt buộc | assert | xác nhận(options.password| options.token,"cần có mật khẩu") |
error | bắt buộc phải có tổ chức | assert | validation(options.org,"org là bắt buộc"); |
error | bắt buộc phải có env | assert | validation(options.env,"bắt buộc phải có env") |
error | tên người dùng là bắt buộc | assert | Xác nhận(options.username|options.token,"tên người dùng là bắt buộc"); |
error | mật khẩu là bắt buộc | assert | xác nhận(options.password| options.token,"cần có mật khẩu") |
error | bắt buộc phải có tổ chức | assert | validation(options.org,"org là bắt buộc"); |
error | bắt buộc phải có env | assert | validation(options.env,"bắt buộc phải có env") |
error | bắt buộc phải có tổ chức | assert | validation(options.org,"org là bắt buộc"); |
error | bắt buộc phải có env | assert | validation(options.env,"bắt buộc phải có env") |
error | tên người dùng là bắt buộc | assert | validation(options.username, 'username is required'); |
error | mật khẩu là bắt buộc | assert | Xác nhận(options.password, 'mật khẩu là bắt buộc'); |
error | bắt buộc phải có tổ chức | assert | validation(options.org, 'org là bắt buộc'); |
error | bắt buộc phải có env | assert | validation(options.env, 'env là bắt buộc'); |
error | phải có tệp đích được chỉ định | assert | validation(targetFile, "phải có một tệp đích được chỉ định") |
error | phải có khoá | assert | validation(key, 'phải có khoá'); |
error | phải có bí mật | assert | validation(bí mật, 'phải có một thông tin bí mật'); |
error | thư mục phải được định cấu hình | assert | validation(dir, 'dir phải được định cấu hình') |
error | bắt buộc phải có lệnh gọi lại | assert | xác nhận(lệnh gọi lại, "phải có lệnh gọi lại") |
error | tên người dùng là bắt buộc | assert | validation(options.username, 'username is required'); |
error | mật khẩu là bắt buộc | assert | Xác nhận(options.password, 'mật khẩu là bắt buộc'); |
error | bắt buộc phải có tổ chức | assert | validation(options.org, 'org là bắt buộc'); |
error | bắt buộc phải có env | assert | validation(options.env, 'env là bắt buộc'); |
error | Bắt buộc phải có RuntimeUrl | assert | validation(options.runtimeUrl, 'runtimeUrl is required'); |
error | Bắt buộc phải có Xuất URL | assert | validation(options.requiredUrl, 'XuấtUrl là bắt buộc'); |
error | tệp là bắt buộc | assert | Xác nhận(options.file),"tệp là bắt buộc") |
error | phải có mục tiêu | assert | validation(options.target, 'phải có target'); |
error | trình bổ trợ chưa được định cấu hình | assert | Xác nhận(config.edgemicro.plugins, 'trình bổ trợ không được định cấu hình'); |
error | thư mục trình bổ trợ không tồn tại: + pluginDir | assert | validation(fs.existsSync(pluginDir), 'plugin dir không tồn tại: ' + pluginDir); |
error | thư mục trình bổ trợ không phải là thư mục: + pluginDir | assert | validation(stat.isDirectory()), 'plugin dir không phải là một thư mục: ' + pluginDir); |
error | lỗi đọc thư mục trình bổ trợ: + pluginDir | assert | validation(dirs, 'error đọc plugin dir: ' + pluginDir); |
error | phải có mã thông báo | assert | validation(mã thông báo, 'phải có mã thông báo'); |
error | không được để trống configpath | assert | validation(config, 'configpath không được để trống'); |
error | phải có EDGEMICRO_KEY | assert | validation(khoá, 'phải có EDGEMICRO_KEY'); |
error | phải có EDGEMICRO_SECRET | assert | validation(bí mật, 'phải có EDGEMICRO_SECRET'); |
error | cấu hình không tồn tại | ném bóng | liên quan đến tệp yaml |
error | Edgemicro có vẻ như đang chạy. | console.error | cố gắng ghi đè tệp .sock |
error | Không kiểm tra được thay đổi trong phần Cấu hình. Sẽ thử lại sau | console.error | vấn đề khi giao tiếp cận biên |
error | Nếu máy chủ không chạy thì có thể là do lần khởi động trước đó bị tắt không chính xác. | console.error | |
error | Thiếu %s, vui lòng chạy | console.error | Thiếu (.*), Vui lòng chạy |
error | Không tải lại được Edgemicro | console.error | cấp lệnh |
error | Dừng Edgemicro không thành công | console.error | Cấp lệnh |
error | 'Thử xoá ' + ipcPath + ' và bắt đầu lại' | console.error | |
error | ' cấu hình bộ nhớ đệm ' + bộ nhớ đệm + ' không tồn tại. đang thoát.' | console.error | |
error | không ghi được tệp config: | console.error | Cấu hình sẽ không thành công |
error | tệp config không tải xuống: | console.error | Cấu hình sẽ không thành công |
error | Edge micro không khởi động được | console.error | Quảng cáo không được chạy |
error | Edgemicro không chạy. | console.error | Không nên liệt kê quy trình kiểm tra |
error | bắt buộc phải có env | console.error | Các biến môi trường bắt buộc để chạy |
error | lỗi – chỉnh sửa api proxy AQUO.xml | console.error | Quyền truy cập vào tệp |
error | lỗi – chỉnh sửa apiproxy default.xml | console.error | Quyền truy cập vào tệp |
error | kiểm tra lỗi để xác nhận. Đang cài đặt chứng chỉ mới. | console.error | Không thể sử dụng khoá công khai |
error | lỗi khi truy xuất khu vực cho tổ chức | console.error | key-gen.js, certification-lib.js và private.js |
error | lỗi khi tải thông tin đăng nhập lên | console.error | Không thể đồng bộ hoá khoá công khai với Edge |
error | không thành công | console.error | key-gen.js |
error | không khởi chạy được tệp configpath %s | console.error | Không tải được cấu hình |
error | phản hồi không hợp lệ từ api khu vực | console.error | key-gen.js, certification-lib.js và private.js |
error | khoá là bắt buộc | console.error | Thông số |
error | bắt buộc phải có tổ chức | console.error | Thông số |
error | không có cổng. | console.error | Thông số |
error | cần phải nhập mã bí mật | console.error | Thông số |
error | giao thức url không được hỗ trợ: | console.error | Thông tin cấu hình cho biết một giao thức Internet không nằm trong phạm vi của Edge Microgateway |
error | đang xác minh trường hợp âm tính của số liệu phân tích: FAIL | console.error | Sự cố/thất bại có thể xảy ra |
error | đang xác minh số liệu phân tích bằng gói dữ liệu: FAIL | console.error | Sự cố/thất bại có thể xảy ra |
error | xác minh tính sẵn có của url khởi động:FAIL | console.error | Sự cố/thất bại có thể xảy ra |
error | đang xác minh khả năng sử dụng jwt_public_key: FAIL | console.error | Sự cố/thất bại có thể xảy ra |
error | xác minh tình trạng còn hàng của sản phẩm: FAIL | console.error | Sự cố/thất bại có thể xảy ra |
error | đang xác minh hạn mức với sản phẩm đã định cấu hình: FAIL | console.error | Sự cố/thất bại có thể xảy ra |
warn | không truy xuất được cấu hình từ cổng. Việc tiếp tục, sẽ thử bản sao đã lưu trong bộ nhớ đệm. | console.error | |
warn | KVM đã tồn tại trong tổ chức của bạn | console.log | |
warn | đã được triển khai | console.log | |
warn | không tìm thấy trình bổ trợ theo trình tự: | console.warn | |
warn | pluginDir %s không tồn tại | console.log | pluginDir (.*) không tồn tại |
mô-đun microgateway-core |
|||
error | cấu hình chưa được khởi chạy | assert | validation(config, 'config chưa được khởi chạy') |
error | phải có cấu hình | assert | validation(config, 'phải có một cấu hình') |
error | phải có cấu hình | assert | validation(config, 'phải có config') |
error | cấu hình phải có uid | assert | validation(config.uid, 'config phải có uid'); |
error | phải có config.edgemicro.logging trong config | assert | validation(logConfig, 'phải có config.edgemicro.logging trong config'); |
error | phải có phương thức yêu cầu | assert | validation(httpLibrary.request, 'phải có phương thức yêu cầu'); |
error | phải tải plugin trong bộ nhớ | assert | validation(options.plugin, "phải có trình bổ trợ được tải trong bộ nhớ"); |
error | init phải là một hàm | assert | validation(_.isFunction(options.plugin.init), 'init phải là một hàm'); |
error | phải có tên trình bổ trợ | assert | validation(options.pluginName, "phải có tên trình bổ trợ"); |
error | bỏ qua tên và trình xử lý trình bổ trợ không hợp lệ | assert | nhận(_.isObject(phần mềm trung gian), "bỏ qua trình xử lý trình bổ trợ không hợp lệ" + tên); |
error | tuỳ chọn phải chứa cấu hình | assert | validation(config, "tuỳ chọn phải chứa cấu hình") |
error | trình bổ trợ phải có tên | assert | claim(name,"plugin phải có tên") |
error | tên phải ở dạng chuỗi | assert | validation(_.isString(name),"name phải là một chuỗi"); |
error | trình bổ trợ phải là một hàm | assert | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
error | phải có khoá | assert | validation(key, 'phải có khoá'); |
error | phải có bí mật | assert | validation(bí mật, 'phải có một thông tin bí mật'); |
error | phải có một thư mục cấu hình nguồn | assert | validation(source, 'phải có thư mục cấu hình nguồn'); |
error | lỗi khi tải trình bổ trợ | console.error | Chưa tải được trình bổ trợ |
error | không thành công trong trình xử lý lỗi | số gọi lại | Hàm HTTP server.on() |
error | chiều dài tiêu đề vượt quá kích thước cho phép | Lỗi HTTP | Không chạy trình bổ trợ |
error | phản hồi đã hoàn tất trước khi có thể hoàn thành công việc | logger.error | Trình bổ trợ mục tiêu không chạy |
error | trình xử lý đã gửi một ngoại lệ | số gọi lại | Chụp lỗi từ trình bổ trợ (catch) |
error | lỗi khi khởi động Edge micro | số gọi lại | Edge Microgateway không khởi động |
error | trình bổ trợ phải là một hàm | ném bóng | |
warn | console.error | warns | Ghi nhật ký |
warn | Lỗi targetRequest | gọi xử lý lỗi mục tiêu | Lỗi máy khách HTTP liên quan đến mục tiêu |
warn | lỗi targetResponse | gọi xử lý lỗi mục tiêu | Lỗi máy chủ mục tiêu HTTP trong kết nối với mục tiêu như hiển thị trong ứng dụng |
Mô-đun microgateway-config |
|||
error | allow_message | assert | validation(+config.quota.allow > 0, allow_message); |
error | cấu hình không tồn tại | ném bóng | Tệp yaml cấu hình |
error | cấu hình trống | ném bóng | Tệp yaml cấu hình |
error | cấu hình không phải là một tệp | ném bóng | Tệp yaml cấu hình |
error | không xác định cấu hình | assert | validation(config, 'config không được xác định'); |
error | config.analytics.batchSize không hợp lệ | assert | validation(+config.analytics.bulkSize > 0, 'config.analytics.batchSize không hợp lệ'); |
error | config.analytics.batchSize không phải là một số | assert | validation(typeof config.analytics.bulkSize = 'number', 'config.analytics.batchSize không phải là số'); |
error | config.analytics.bufferSize không hợp lệ | assert | validation(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize không hợp lệ'); |
error | config.analytics.bufferSize không phải là một số | assert | validation(typeof config.analytics.bufferSize = 'number', 'config.analytics.bufferSize không phải là một số'); |
error | config.analytics.flushInterval là không hợp lệ | assert | validation(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval là không hợp lệ'); |
error | config.analytics.flushInterval không phải là một số | assert | validation(typeof config.analytics.flushInterval = 'number', 'config.analytics.flushInterval không phải là một số'); |
error | config.analytics.proxy không phải là "dummy" | assert | validation(config.analytics.proxy = 'dummy', 'config.analytics.proxy không phải là "dummy") |
error | config.analytics.proxy không được xác định | assert | Xác nhận(config.analytics.proxy, 'config.analytics.proxy không được xác định'); |
error | config.analytics.proxy_revision không phải là một số | assert | validation(typeof config.analytics.proxy_revision = 'number', 'config.analytics.proxy_revision không phải là một số'); |
error | config.analytics.proxy_revision không được xác định | assert | Xác nhận(config.analytics.proxy_revision, 'config.analytics.proxy_revision không được xác định'); |
error | config.analytics.source không phải là "cổng nhỏ" | assert | claim(config.analytics.source = 'microgateway', 'config.analytics.source không phải là "microgateway"'); |
error | config.analytics.source không được xác định | assert | validation(config.analytics.source, 'config.analytics.source chưa được xác định'); |
error | config.analytics.uri không phải là một chuỗi | assert | validation(typeof config.analytics.uri = 'string', 'config.analytics.uri không phải là một chuỗi'); |
error | config.analytics.uri không được xác định | assert | validation(config.analytics.uri, 'config.analytics.uri không được xác định'); |
error | config.apikeys.public_key không được xác định | assert | validation(typeof config.apikeys.public_key = 'string', 'config.apikeys.public_key chưa được định nghĩa'); |
error | config.edge_config không được xác định | assert | validation(config.edge_config, 'config.edge_config chưa được xác định'); |
error | config.edge_config.bootstrap không được xác định | assert | validation(config.edge_config.bootstrap, 'config.edge_config.bootstrap chưa được xác định'); |
error | config.edge_config.jwt_public_key không được xác định | assert | validation(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key chưa được xác định'); |
error | Bạn phải xác định config.edge_config.proxy nếu đã xác định config.edge_config.proxy_tunnel | assert | Xác nhận(typeof config.edge_config.proxy !== 'không xác định', 'config.edge_config.proxy phải được xác định nếu config.edge_config.proxy_tunnel được định nghĩa'); |
error | config.edge_config.proxy_tunnel is not a boolean | assert | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
error | config.edge_config.refresh_interval không phải là một số | assert | validation(typeof config.edge_config.refresh_interval = 'number', 'config.edge_config.refresh_interval không phải là một số'); |
error | config.edge_config.refresh_interval quá nhỏ (tối thiểu 1 giờ) | assert | validation(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval quá nhỏ (tối thiểu 1 giờ)'); |
error | config.edge_config.retry_interval không phải là một số | assert | validation(typeof config.edge_config.retry_interval = 'number', 'config.edge_config.retry_interval không phải là một số'); |
error | config.edge_config.retry_interval quá nhỏ (tối thiểu 5 giây) | assert | validation(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval quá nhỏ (tối thiểu 5 giây)'); |
error | config.edgemicro không được xác định | assert | Xác nhận(config.edgemicro, 'config.edgemicro chưa được xác định'); |
error | config.edgemicro.logging không được xác định | assert | khẳng định(config.edgemicro.logging, 'config.edgemicro.logging không được xác định'); |
error | config.edgemicro.logging.dir không được xác định | assert | nếu (!config.edgemicro.logging.to_console)confirm(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir không được xác định'); |
error | config.edgemicro.logging.level không được xác định | assert | validation(config.edgemicro.logging.level, 'config.edgemicro.logging.level chưa được xác định'); |
error | config.edgemicro.max_connections không phải là một số | assert | Verify(typeof config.edgemicro.max_connections = 'number', 'config.edgemicro.max_connections không phải là số'); |
error | config.edgemicro.max_connections không xác định | assert | validation(config.edgemicro.max_connections, 'config.edgemicro.max_connections không xác định'); |
error | config.edgemicro.plugins.sequence không phải là một mảng | assert | Xác nhận(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence không phải là một mảng'); |
error | config.edgemicro.port không được xác định | assert | validation(config.edgemicro.port, 'config.edgemicro.port chưa được định nghĩa'); |
error | Không xác định được config.OAuth.allowInvalid Đơn | assert | Xác nhận(typeof config. OAuth.allowInvalid Lâu |
error | Không xác định được config.OAuth.allowNoKhông bị xác định | assert | validation(typeof config.gạch chéo.allowNoConfirm = 'boolean', 'config.OAuth.allowNoTạo không được xác định cho chúng tôi nếu bạn đã định nghĩa); |
error | config.OAuth.public_key không được xác định | assert | nhận(typeof config.OAuth.public_key = 'string', 'config.OAuth.public_key chưa được xác định] không được xác định'); |
error | config.OAuthv2.public_key chưa được xác định | assert | validation(typeof config.OAuthv2.public_key = 'string', 'config.OAuthv2.public_key chưa được xác định'); |
error | config.proxies không được xác định | assert | validation(config.proxies, 'config.proxies chưa được xác định'); |
error | config.proxy[ + chỉ mục + ].base_path không được xác định | assert | Xác nhận(proxy.base_path, 'config.proxy[' + chỉ mục + '].base_path không được xác định'); |
error | config.proxy[ + chỉ mục + ].max_Connections không phải là một số | assert | validation(typeof proxy.max_connections = 'number', 'config.proxy[' + index + '].max_connections không phải là số'); |
error | config.proxy[ + chỉ số + ].max_Connections không được định nghĩa | assert | Xác nhận(proxy.max_connections, 'config.proxy[' + chỉ mục + '].max_connections không được định nghĩa'); |
error | config.proxy[ + chỉ mục + ].name không được xác định | assert | Xác nhận(proxy.name, 'config.proxy[' + chỉ mục + '].name không được định nghĩa'); |
error | config.proxy[ + chỉ mục + ].proxy_name không được xác định | assert | Xác nhận(proxy.target_name, 'config.proxy[' + chỉ số + '].proxy_name không được xác định'); |
error | config.proxy[ + index + ].revision không được định nghĩa | assert | Xác nhận(proxy.revision, 'config.proxy[' + chỉ số + '].revision không được định nghĩa'); |
error | config.proxy[ + index + ].url không được xác định | assert | Xác nhận(proxy.url, 'config.proxy[' + chỉ số + '].url không được định nghĩa'); |
error | config.quota.allow không phải là một số | assert | validation(typeof config.quota.allow = 'number', 'config.quota.allow không phải là một số') |
error | config.quota.allow không được xác định | assert | validation(config.quota.allow, 'config.quota.allow chưa được xác định') |
error | config.quota.interval không phải là một số | assert | validation(typeof config.quota.interval = 'number', 'config.quota.interval không phải là một số'); |
error | config.quota.interval không được xác định | assert | validation(config.quota.interval, 'config.quota.interval chưa được xác định'); |
error | config.spikearrest không được xác định | assert | validation(config.spikearrest, 'config.spikearrest không được xác định'); |
error | config.spikearrest.allow không hợp lệ | assert | Verify(+config.spikearrest.allow > 0, 'config.spikearrest.allow là không hợp lệ'); |
error | config.spikearrest.allow không phải là một số | assert | validation(typeof config.spikearrest.allow = 'number', 'config.spikearrest.allow không phải là một số') |
error | config.spikearrest.allow không được xác định | assert | validation(config.spikearrest.allow, 'config.spikearrest.allow chưa được xác định') |
error | config.spikearrest.bufferSize không hợp lệ | assert | Verify(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize không hợp lệ'); |
error | config.spikearrest.bufferSize không phải là một số | assert | validation(typeof config.spikearrest.bufferSize = 'number', 'config.spikearrest.bufferSize không phải là một số'); |
error | config.spikearrest.timeUnit không được xác định | assert | validation(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit chưa được xác định'); |
error | LỖI QUAN TRỌNG: lỗi khi phân tích cú pháp danh sách sản phẩm đã tải xuống | số gọi lại | |
error | LỖI QUAN TRỌNG: lỗi phân tích cú pháp danh sách proxy đã tải xuống | số gọi lại | |
error | ĐÃ PHÁT HIỆN LỖI XUẤT BẢN XÁC ĐỊNH SẢN PHẨM | console.error | Theo sau là console.warn('using cũ cấu hình đã lưu vào bộ nhớ đệm'); |
error | lỗi khi đọc cấu hình từ | ném bóng | Tệp yaml cấu hình |
error | Lỗi khi lưu cấu hình vào | số gọi lại | Tệp yaml cấu hình |
error | nghiêm trọng: không có cấu hình được lưu vào bộ nhớ đệm, không thể tiếp tục | số gọi lại | |
error | interval_message | assert | Verify(+config.quota.interval > 0, khoảng_message); |
error | giao thức không hợp lệ cho config.edge_config.proxy (http: hoặc https:: + proxy_url.protocol) dự kiến | assert | xác nhận(proxy_url.giao thức = 'http:' | proxy_url.giao thức = 'https:', 'giao thức không hợp lệ cho config.edge_config.proxy (dự kiến http: hoặc https:): ' + proxy_url.protocol); |
error | máy chủ proxy không hợp lệ cho config.edge_config.proxy | assert | Xác nhận(proxy_url.hostname, 'máy chủ proxy không hợp lệ cho config.edge_config.proxy: ' + proxy_url.hostname); |
error | có vẻ như Edge micro chưa được định cấu hình, vui lòng xem hướng dẫn dành cho quản trị viên | số gọi lại | Kết quả: Không tải được cấu hình |
error | thiếu khoá | assert | validation(keys.key, 'key bị thiếu'); |
error | phải có configDir | assert | validation(configDir, 'phải có configDir') |
error | phải có các tùy chọn | assert | validation(options, ' phải có options'); |
error | phải có nguồn | assert | xác nhận(nguồn, "phải có nguồn") |
error | phải có nguồn để tải từ | assert | validation(options.source, "phải có nguồn để tải từ") |
error | phải có targetFile | assert | validation(fileName, "phải có targetFile") |
error | không thể để trống các tuỳ chọn | assert | Xác nhận(options, 'tuỳ chọn không thể rỗng'); |
error | không được để trống options.key | assert | validation(options.keys, 'options.keys không thể có giá trị null'); |
error | port_message | assert | validation(+config.edgemicro.port < 65536, cổng_message); |
error | sản phẩm phải là một mảng | assert | validation(Array.isArray(products), "products phải là một mảng'); |
error | 'proxies cho sản phẩm ' + sản phẩm + ' phải là một mảng' | assert | claim(Array.isArray(product.proxies), 'proxies for product ' + product + ' phải là một mảng'); |
error | thiếu khoá bí mật | assert | validation(keys.secret, 'secret is missing'); |
error | mục tiêu chưa được đặt | assert | validation(target, 'target is not set'); |
warn | lỗi khi tải cấu hình xuống, vui lòng kiểm tra cấu hình tự khởi động | console.warn | |
warn | không tải xuống được jwt_public_key | console.warn | |
warn | phím jwk chưa được bật | console.warn | |
warn | thông báo, 'tải xuống từ', url, 'trả về' | console.warn | Tìm kiếm: (.*)\sdownload from\s(.*)\sreturned |
warn | không tìm thấy sản phẩm vi mô cạnh nào được phản hồi | console.warn | |
warn | không tìm thấy proxy vi mô cạnh trong tổ chức | console.warn | |
warn | không tìm thấy proxy siêu nhỏ cạnh nào trong phản hồi | console.warn | |
warn | không tìm thấy sản phẩm nào trong tổ chức | console.warn | |
warn | không tìm thấy sản phẩm nào trong phản hồi | console.warn | |
warn | đang sử dụng cấu hình cũ đã lưu vào bộ nhớ đệm | console.warn | |
mô-đun trình bổ trợ cổng cổng vào |
|||
error | cấu hình không tồn tại | ném bóng | Liên quan đến tệp yaml |
error | apikey | Phản hồi HTTP | Lỗi trong trình bổ trợ apiky |
error | xác thực | Phản hồi HTTP | Lỗi trong trình bổ trợ bauth |
error | xác thực mở rộng | Phản hồi HTTP | Lỗi trong trình bổ trợ extauth |
error | Oauth | Phản hồi HTTP | Lỗi trong trình bổ trợ OAuth |
warn | Đã xảy ra lỗi khi xử lý số liệu phân tích Apigee. Cho phép xử lý yêu cầu để tiếp tục | logger.error | |
warn | bỏ qua lỗi | console.warn | Trình bổ trợ apikey, OAuth và OAuthv2 |
warn | lỗi phân tích cú pháp jwt: | console.warn | |
warn | đối tượng phản hồi lời tuyên thệ thiếu setHeader | console.warn | Lỗi tham số OAuth cho biết một số lỗi sẽ không được báo cáo. |
warn | đối tượng phản hồi lời thề không được thời gian chạy cung cấp | console.warn | Lỗi tham số OAuth |
warn | Đối tượng thống kê lời thề không được thời gian chạy cung cấp | console.warn | Lỗi tham số OAuth |
Mô-đun apigeetool-node |
|||
error | Không xoá được bộ nhớ đệm với mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào deletecache.js. Mã trạng thái từ Apigee Edge. Chuyển để gọi lại lỗi dấu vết ngăn xếp với thông báo sau: done(new Error(errMsg); |
error | Không xoá được sản phẩm với mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào deleteproduct.js. Mã trạng thái từ Apigee Edge. Chuyển để gọi lại lỗi dấu vết ngăn xếp với thông báo sau: done(new Error(errMsg); |
error | đều phải chỉ định org, api và bản sửa đổi! | số gọi lại | Được đưa vàoTìm nạp proxy.js. Lỗi cấu hình. |
error | Đã nhận lỗi %d khi tìm nạp proxy: %j | số gọi lại | Được đưa vàoTìm nạp proxy.js. Mã trạng thái khác 200. |
error | Không tạo được ứng dụng có mã trạng thái %d | số gọi lại | Được gửi vào createapp.js. Chuyển tất cả lỗi trở lại lệnh gọi lại dưới dạng lỗi dấu vết ngăn xếp. Không in ra bảng điều khiển hoặc mục nhập nhật ký. |
error | Command + ' không thành công với mã trạng thái %d | số gọi lại | Được gửi vào Command-utils.js. Đối với bất kỳ lệnh nào được phân tích cú pháp và chuyển đến mô-đun này, mọi mã không phải là 200 hoặc 201 đều sẽ tạo ra một thông báo lỗi. Định dạng thông báo này nhưng không in ra. Chuyển lỗi dấu vết ngăn xếp kèm thông báo về lệnh gọi lại. |
error | Đã nhận lỗi %d khi tìm nạp luồng được chia sẻ: %s | số gọi lại | Được đưa vào generatesharedflow.js. Đối với mọi trạng thái HTTP không phải là 200. Nếu ghi tệp thành công nhưng không thành công, thì hệ thống sẽ ghi vào bảng điều khiển: Không ghi được tệp Văn bản lỗi: [stack_trace_error] |
error | Không tạo được KeySecret với mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào createappkey.js. Đối với các mã trạng thái HTTP từ Apigee Edge mà không phải là 200 hoặc 201. |
error | Không tạo được bộ nhớ đệm với mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào createcache.js. Đối với các mã trạng thái HTTP từ Apigee Edge mà không phải là 200 hoặc 201. |
error | Không tạo được sản phẩm với mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào createproduct.js. Đối với các mã trạng thái HTTP từ Apigee Edge không phải là 201. Nếu trạng thái HTTP là 201 nhưng phản hồi lại chứa JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
error | Không xoá được ứng dụng có mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào deleteapp.js. Đối với các mã trạng thái HTTP từ Apigee Edge mà không phải là 200. Nếu trạng thái HTTP là 200 nhưng phản hồi lại chứa JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
error | Không tạo được nhà phát triển với mã trạng thái %d', res.statusCode | số gọi lại | Được gửi vào createdeveloper.js. Đối với các mã trạng thái HTTP từ Apigee Edge không phải là 201. Nếu trạng thái HTTP là 201 nhưng phản hồi lại chứa JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
error | Không xoá được Nhà phát triển với mã trạng thái %d', res.statusCode | số gọi lại | Được đưa vào deletedeveloper.js. Đối với các mã trạng thái HTTP từ Apigee Edge mà không phải là 200. Nếu trạng thái HTTP là 200 nhưng phản hồi lại chứa JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
Lỗi trình cắm
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.