Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
W tym artykule opisujemy błędy i ostrzeżenia, które mogą wystąpić w przypadku Edge Microgateway.
Ogólne błędy aplikacji
HTTP 500, błąd w obsłudze błędów – większość błędów będzie miała ten numer, podobnie jak niektóre błędy zwrócone z miejsc docelowych. W szczególności plik errors-middleware.js jest używany w całym module microgateway-core. Gdy jest używany, zapisuje kody stanu w logach za pomocą Edge Microgateway
logger object: logger.error(err, 'failed in error handler');. W przypadku kodów otrzymanych z miejsc docelowych z zakresu od 100 do 300 plik errors-middleware.js zmienia kod stanu na 500, aby zwrócić go do klienta.HTTP 404 – ten stan może być wyświetlany jako zrzut stosu z komunikatem:
no match found for [API_path_name].
Błędy i ostrzeżenia dotyczące modułu
Możesz użyć tych informacji do skonfigurowania alertów, które pomogą Ci monitorować wdrożenie Edge Microgateway i nim zarządzać.
Poniższe terminy, które pojawiają się w dokumentacji błędów w sekcji „Obsługa”, wskazują, jak różne błędy są obsługiwane w Edge Microgateway.
- assert: zwykle Edge Microgateway zatrzymuje się, gdy ocena asercji zakończy się niepowodzeniem. Nie zawsze tak jednak jest, ponieważ „asserts” zgłaszają wyjątki, które można przechwycić.
- throws: możliwe zatrzymanie systemu.
- callback: błąd jest przekazywany do wywołania zwrotnego, a system może kontynuować działanie.
| Typ | Wiadomość | Moduł obsługi | Uwagi |
|---|---|---|---|
moduł microgateway |
|||
| błąd | org jest wymagany | zgłosić prawa | assert(options.org,"org is required"); |
| błąd | Pole env jest wymagane | zgłosić prawa | assert(options.env,"env is required") |
| błąd | nazwa użytkownika jest wymagana | zgłosić prawa | assert(options.username || options.token,"username is required"); |
| błąd | hasło jest wymagane | zgłosić prawa | assert(options.password || options.token,"password is required") |
| błąd | org jest wymagany | zgłosić prawa | assert(options.org,"org is required"); |
| błąd | Pole env jest wymagane | zgłosić prawa | assert(options.env,"env is required") |
| błąd | nazwa użytkownika jest wymagana | zgłosić prawa | assert(options.username || options.token,"username is required"); |
| błąd | hasło jest wymagane | zgłosić prawa | assert(options.password || options.token,"password is required") |
| błąd | org jest wymagany | zgłosić prawa | assert(options.org,"org is required"); |
| błąd | Pole env jest wymagane | zgłosić prawa | assert(options.env,"env is required") |
| błąd | org jest wymagany | zgłosić prawa | assert(options.org,"org is required"); |
| błąd | Pole env jest wymagane | zgłosić prawa | assert(options.env,"env is required") |
| błąd | nazwa użytkownika jest wymagana | zgłosić prawa | assert(options.username, 'username is required'); |
| błąd | hasło jest wymagane | zgłosić prawa | assert(options.password, 'password is required'); |
| błąd | org jest wymagany | zgłosić prawa | assert(options.org, 'org is required'); |
| błąd | Pole env jest wymagane | zgłosić prawa | assert(options.env, 'env is required'); |
| błąd | musi mieć przypisany plik docelowy; | zgłosić prawa | assert(targetFile, 'musi mieć przypisany plik docelowy') |
| błąd | musi mieć klucz, | zgłosić prawa | assert(key, 'musi mieć klucz'); |
| błąd | musi mieć sekret, | zgłosić prawa | assert(secret, 'must have a secret'); |
| błąd | Należy skonfigurować parametr dir | zgłosić prawa | assert(dir, 'dir must be configured') |
| błąd | wywołanie zwrotne musi być obecne | zgłosić prawa | assert(callback, 'callback must be present') |
| błąd | nazwa użytkownika jest wymagana | zgłosić prawa | assert(options.username, 'username is required'); |
| błąd | hasło jest wymagane | zgłosić prawa | assert(options.password, 'password is required'); |
| błąd | org jest wymagany | zgłosić prawa | assert(options.org, 'org is required'); |
| błąd | Pole env jest wymagane | zgłosić prawa | assert(options.env, 'env is required'); |
| błąd | runtimeUrl jest wymagany | zgłosić prawa | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| błąd | Pole mgmtUrl jest wymagane. | zgłosić prawa | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| błąd | plik jest wymagany | zgłosić prawa | assert(options.file,"file is required") |
| błąd | musi mieć cel, | zgłosić prawa | assert(options.target, 'musi mieć element docelowy'); |
| błąd | wtyczki nie zostały skonfigurowane, | zgłosić prawa | assert(config.edgemicro.plugins, 'plugins not configured'); |
| błąd | Katalog wtyczki nie istnieje: + pluginDir | zgłosić prawa | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| błąd | plugin dir is not a directory: + pluginDir | zgłosić prawa | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| błąd | błąd odczytu katalogu wtyczek: + pluginDir | zgłosić prawa | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| błąd | musi mieć token, | zgłosić prawa | assert(token, 'musi mieć token'); |
| błąd | Ścieżka konfiguracji nie może być pusta | zgłosić prawa | assert(config, 'configpath can't be empty'); |
| błąd | musi zawierać EDGEMICRO_KEY | zgłosić prawa | assert(key, 'must have EDGEMICRO_KEY'); |
| błąd | musi mieć zmienną EDGEMICRO_SECRET, | zgłosić prawa | assert(secret, 'musi mieć EDGEMICRO_SECRET'); |
| błąd | Konfiguracja nie istnieje | zgłasza | związane z plikiem yaml, |
| błąd | Wygląda na to, że edgemicro jest już uruchomiony. | console.error | próba zastąpienia pliku .sock; |
| błąd | Nie udało się sprawdzić zmian w konfiguracji. Ponowna próba po | console.error | problem z komunikacją na urządzeniu brzegowym, |
| błąd | Jeśli serwer nie działa, może to być spowodowane nieprawidłowym wyłączeniem poprzedniego uruchomienia. | console.error | |
| błąd | Brak %s, uruchom | console.error | Brak (.*). Uruchom |
| błąd | Nie udało się ponownie załadować edgemicro | console.error | poziom polecenia, |
| błąd | Nie udało się zatrzymać usługi edgemicro | console.error | Poziom polecenia |
| błąd | „Spróbuj usunąć „ + ipcPath + „ i zacznij od nowa”. | console.error | |
| błąd | „cache configuration ' + cache + ' does not exist. exiting.' | console.error | |
| błąd | Nie udało się zapisać pliku konfiguracyjnego: | console.error | Konfiguracja się nie powiedzie |
| błąd | Nie udało się pobrać pliku konfiguracyjnego: | console.error | Konfiguracja się nie powiedzie |
| błąd | Nie udało się uruchomić urządzenia edge micro | console.error | Nie powinien być uruchomiony |
| błąd | Usługa edgemicro nie działa. | console.error | Sprawdź proces, nie powinien być na liście |
| błąd | Pole env jest wymagane | console.error | Zmienne środowiskowe wymagane do uruchomienia |
| błąd | błąd – edytowanie pliku Callout.xml w usłudze apiproxy | console.error | Dostęp do plików |
| błąd | błąd – edytowanie pliku apiproxy default.xml | console.error | Dostęp do plików |
| błąd | błąd sprawdzania certyfikatu. Instalowanie nowego certyfikatu. | console.error | Nie można użyć klucza publicznego |
| błąd | błąd podczas pobierania regionu organizacji | console.error | key-gen.js, cert-lib.js i private.js |
| błąd | błąd podczas przesyłania danych logowania, | console.error | Nie można zsynchronizować klucza publicznego z Edge |
| błąd | niepowodzenie | console.error | key-gen.js |
| błąd | nie udało się zainicjować pliku ścieżki konfiguracji %s | console.error | Nie wczytuje się konfiguracja |
| błąd | nieprawidłowa odpowiedź z interfejsu API regionu | console.error | key-gen.js, cert-lib.js i private.js |
| błąd | klucz jest wymagany | console.error | Parametr |
| błąd | org jest wymagany | console.error | Parametr |
| błąd | port jest niedostępny. | console.error | Parametr |
| błąd | Obiekt tajny jest wymagany | console.error | Parametr |
| błąd | nieobsługiwany protokół adresu URL: | console.error | Informacje o konfiguracji wskazują protokół internetowy, który nie jest objęty zakresem Edge Microgateway |
| błąd | weryfikacja statystyk – przypadek negatywny: NIE | console.error | Możliwa awaria |
| błąd | weryfikacja statystyk z ładunkiem: NIEPOWODZENIE | console.error | Możliwa awaria |
| błąd | weryfikacja dostępności adresu URL wczytywania:NIEPOWODZENIE | console.error | Możliwa awaria |
| błąd | sprawdzanie dostępności jwt_public_key: NIEUDANE | console.error | Możliwa awaria |
| błąd | weryfikacja dostępności produktów: NIE | console.error | Możliwa awaria |
| błąd | weryfikacja limitu w przypadku skonfigurowanych produktów: NIEPOWODZENIE | console.error | Możliwa awaria |
| ostrzegać, | nie udało się pobrać konfiguracji z bramy. Kontynuuję, spróbuję użyć kopii z pamięci podręcznej. | console.error | |
| ostrzegać, | KVM już istnieje w Twojej organizacji | console.log | |
| ostrzegać, | jest już wdrożony | console.log | |
| ostrzegać, | nie znaleziono wtyczki sekwencyjnej: | console.warn | |
| ostrzegać, | Katalog wtyczek %s nie istnieje | console.log | pluginDir (.*) nie istnieje |
moduł microgateway-core |
|||
| błąd | konfiguracja nie została zainicjowana | zgłosić prawa | assert(config, 'config not initialized') |
| błąd | musi mieć konfigurację | zgłosić prawa | assert(config, ' must have a config') |
| błąd | musi mieć konfigurację | zgłosić prawa | assert(config, 'must have config') |
| błąd | konfiguracja musi zawierać identyfikator UID | zgłosić prawa | assert(config.uid, 'config must have uid'); |
| błąd | musi mieć config.edgemicro.logging w konfiguracji | zgłosić prawa | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| błąd | musi mieć metodę żądania | zgłosić prawa | assert(httpLibrary.request, 'musi mieć metodę żądania'); |
| błąd | musi mieć wtyczkę załadowaną do pamięci. | zgłosić prawa | assert(options.plugin, "musi mieć wtyczkę załadowaną do pamięci"); |
| błąd | init musi być funkcją | zgłosić prawa | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| błąd | musi zawierać nazwę wtyczki; | zgłosić prawa | assert(options.pluginName, "musi zawierać nazwę wtyczki"); |
| błąd | ignorowanie nieprawidłowych modułów obsługi wtyczek + nazwa | zgłosić prawa | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| błąd | opcje muszą zawierać konfigurację | zgłosić prawa | assert(config, 'options must contain config') |
| błąd | Wtyczka musi mieć nazwę | zgłosić prawa | assert(name,"plugin must have a name") |
| błąd | nazwa musi być ciągiem znaków, | zgłosić prawa | assert(_.isString(name),"name must be a string"); |
| błąd | plugin musi być funkcją | zgłosić prawa | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| błąd | musi mieć klucz, | zgłosić prawa | assert(key, 'musi mieć klucz'); |
| błąd | musi mieć sekret, | zgłosić prawa | assert(secret, 'must have a secret'); |
| błąd | musi mieć katalog konfiguracji źródła | zgłosić prawa | assert(source, 'musi mieć katalog konfiguracji źródłowej'); |
| błąd | błąd podczas wczytywania wtyczki, | console.error | Wtyczka nie została wczytana |
| błąd | nie udało się w procedurze obsługi błędów | callback | Funkcja HTTP server.on() |
| błąd | długość nagłówka przekracza dozwolony rozmiar; | Błąd HTTP | Nie uruchamia wtyczki |
| błąd | odpowiedź została ukończona, zanim można było wykonać pracę. | logger.error | Wtyczka docelowa nie działa |
| błąd | moduł obsługi zgłosił wyjątek, | callback | Przechwytywanie błędu z wtyczki (catch) |
| błąd | error starting edge micro | callback | Edge Microgateway nie uruchamia się |
| błąd | plugin musi być funkcją | zgłasza | |
| ostrzegać, | console.error | ostrzega, | Zapisywanie logów |
| ostrzegać, | Błąd targetRequest | wywoływanie obsługi błędów celu, | Błąd klienta HTTP w połączeniu z miejscem docelowym |
| ostrzegać, | błąd targetResponse | wywoływanie obsługi błędów celu, | Błąd serwera docelowego HTTP w połączeniu z elementem docelowym widocznym w klientach |
moduł microgateway-config |
|||
| błąd | allow_message | zgłosić prawa | assert(+config.quota.allow > 0, allow_message); |
| błąd | Konfiguracja nie istnieje | zgłasza | Plik YAML konfiguracji |
| błąd | config jest pusty | zgłasza | Plik YAML konfiguracji |
| błąd | config nie jest plikiem | zgłasza | Plik YAML konfiguracji |
| błąd | config is not defined | zgłosić prawa | assert(config, 'config is not defined'); |
| błąd | config.analytics.batchSize jest nieprawidłowe | zgłosić prawa | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| błąd | config.analytics.batchSize nie jest liczbą | zgłosić prawa | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| błąd | config.analytics.bufferSize jest nieprawidłowy | zgłosić prawa | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| błąd | config.analytics.bufferSize nie jest liczbą | zgłosić prawa | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| błąd | config.analytics.flushInterval jest nieprawidłowy | zgłosić prawa | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| błąd | config.analytics.flushInterval nie jest liczbą | zgłosić prawa | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| błąd | config.analytics.proxy nie ma wartości „dummy” | zgłosić prawa | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| błąd | config.analytics.proxy jest niezdefiniowana | zgłosić prawa | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| błąd | config.analytics.proxy_revision nie jest liczbą | zgłosić prawa | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| błąd | config.analytics.proxy_revision jest niezdefiniowana | zgłosić prawa | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| błąd | config.analytics.source nie ma wartości „microgateway” | zgłosić prawa | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| błąd | config.analytics.source jest niezdefiniowane | zgłosić prawa | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| błąd | config.analytics.uri nie jest ciągiem tekstowym | zgłosić prawa | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| błąd | config.analytics.uri jest niezdefiniowana | zgłosić prawa | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| błąd | config.apikeys.public_key jest niezdefiniowany | zgłosić prawa | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| błąd | config.edge_config jest niezdefiniowana | zgłosić prawa | assert(config.edge_config, 'config.edge_config is not defined'); |
| błąd | config.edge_config.bootstrap nie jest zdefiniowany | zgłosić prawa | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| błąd | config.edge_config.jwt_public_key is not defined | zgłosić prawa | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| błąd | Jeśli zdefiniowano config.edge_config.proxy_tunnel, musi być zdefiniowany config.edge_config.proxy | zgłosić prawa | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
| błąd | config.edge_config.proxy_tunnel nie jest wartością logiczną | zgłosić prawa | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| błąd | config.edge_config.refresh_interval nie jest liczbą | zgłosić prawa | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| błąd | Wartość config.edge_config.refresh_interval jest za mała (min. 1 godz.) | zgłosić prawa | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| błąd | config.edge_config.retry_interval nie jest liczbą | zgłosić prawa | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| błąd | Wartość config.edge_config.retry_interval jest za mała (min. 5 s) | zgłosić prawa | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| błąd | config.edgemicro jest niezdefiniowany | zgłosić prawa | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| błąd | config.edgemicro.logging nie jest zdefiniowany | zgłosić prawa | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| błąd | config.edgemicro.logging.dir jest niezdefiniowana | zgłosić prawa | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| błąd | config.edgemicro.logging.level nie jest zdefiniowany | zgłosić prawa | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| błąd | config.edgemicro.max_connections nie jest liczbą | zgłosić prawa | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| błąd | config.edgemicro.max_connections nie jest zdefiniowane | zgłosić prawa | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| błąd | config.edgemicro.plugins.sequence nie jest tablicą | zgłosić prawa | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| błąd | config.edgemicro.port jest niezdefiniowany | zgłosić prawa | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| błąd | config.oauth.allowInvalidAuthorization jest niezdefiniowana | zgłosić prawa | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| błąd | config.oauth.allowNoAuthorization jest niezdefiniowana | zgłosić prawa | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| błąd | config.oauth.public_key jest niezdefiniowany | zgłosić prawa | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| błąd | config.oauthv2.public_key jest niezdefiniowany | zgłosić prawa | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| błąd | config.proxies jest niezdefiniowany | zgłosić prawa | assert(config.proxies, 'config.proxies is not defined'); |
| błąd | config.proxy[ + index + ].base_path jest niezdefiniowana | zgłosić prawa | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| błąd | config.proxy[ + index + ].max_connections nie jest liczbą | zgłosić prawa | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| błąd | config.proxy[ + index + ].max_connections jest niezdefiniowana | zgłosić prawa | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| błąd | config.proxy[ + index + ].name jest niezdefiniowana | zgłosić prawa | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| błąd | config.proxy[ + index + ].proxy_name jest niezdefiniowana | zgłosić prawa | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| błąd | config.proxy[ + index + ].revision nie jest zdefiniowany | zgłosić prawa | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| błąd | config.proxy[ + index + ].url nie jest zdefiniowany | zgłosić prawa | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| błąd | config.quota.allow nie jest liczbą | zgłosić prawa | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| błąd | config.quota.allow jest niezdefiniowane | zgłosić prawa | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| błąd | config.quota.interval nie jest liczbą | zgłosić prawa | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| błąd | config.quota.interval nie jest zdefiniowany | zgłosić prawa | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| błąd | config.spikearrest jest niezdefiniowany | zgłosić prawa | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| błąd | config.spikearrest.allow jest nieprawidłowy | zgłosić prawa | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| błąd | config.spikearrest.allow nie jest liczbą | zgłosić prawa | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| błąd | config.spikearrest.allow jest niezdefiniowana | zgłosić prawa | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| błąd | config.spikearrest.bufferSize jest nieprawidłowy | zgłosić prawa | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| błąd | config.spikearrest.bufferSize nie jest liczbą | zgłosić prawa | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| błąd | config.spikearrest.timeUnit jest niezdefiniowana | zgłosić prawa | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| błąd | BŁĄD KRYTYCZNY: błąd podczas przetwarzania pobranej listy produktów | callback | |
| błąd | BŁĄD KRYTYCZNY: błąd podczas analizowania pobranej listy serwerów proxy | callback | |
| błąd | WYKRYTO BŁĄD W KONFIGURACJI PRODUKTU | console.error | Po nim następuje console.warn('using old cached configuration'); |
| błąd | błąd odczytu konfiguracji z | zgłasza | Plik YAML konfiguracji |
| błąd | błąd podczas zapisywania konfiguracji w | callback | Plik YAML konfiguracji |
| błąd | fatal: cached config not available, unable to continue | callback | |
| błąd | interval_message | zgłosić prawa | assert(+config.quota.interval > 0, interval_message); |
| błąd | nieprawidłowy protokół dla config.edge_config.proxy (oczekiwany http: lub https:: + proxy_url.protocol) | zgłosić prawa | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| błąd | nieprawidłowy host proxy dla config.edge_config.proxy | zgłosić prawa | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| błąd | Wygląda na to, że urządzenie Edge Micro nie zostało skonfigurowane. Zapoznaj się z przewodnikiem dla administratorów. | callback | Wynik: nie udało się wczytać konfiguracji |
| błąd | brak klucza | zgłosić prawa | assert(keys.key, 'key is missing'); |
| błąd | musi mieć configDir | zgłosić prawa | assert(configDir, 'must have configDir') |
| błąd | musi mieć opcje, | zgłosić prawa | assert(options, 'must have options'); |
| błąd | musi mieć źródło, | zgłosić prawa | assert(source, 'must have source') |
| błąd | musi mieć źródło, z którego ma pobierać dane. | zgłosić prawa | assert(options.source, 'must have source to load from') |
| błąd | musi zawierać targetFile | zgłosić prawa | assert(fileName, 'must have targetFile') |
| błąd | opcje nie mogą być puste | zgłosić prawa | assert(options, 'options cannot be null'); |
| błąd | options.keys nie może być wartością null | zgłosić prawa | assert(options.keys, 'options.keys cannot be null'); |
| błąd | port_message | zgłosić prawa | assert(+config.edgemicro.port < 65536, port_message); |
| błąd | products powinna być tablicą, | zgłosić prawa | assert(Array.isArray(products), 'products should be an array'); |
| błąd | „proxies for product ' + product + ' should be an array” | zgłosić prawa | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| błąd | brak obiektu tajnego | zgłosić prawa | assert(keys.secret, 'secret is missing'); |
| błąd | nie ustawiono celu | zgłosić prawa | assert(target, 'target is not set'); |
| ostrzegać, | błąd pobierania konfiguracji, sprawdź konfigurację bootstrap | console.warn | |
| ostrzegać, | nie udało się pobrać klucza publicznego JWT | console.warn | |
| ostrzegać, | Klucze JWK nie są włączone | console.warn | |
| ostrzegać, | message, 'download from', url, 'returned' | console.warn | Wyszukaj: (.*)\sdownload from\s(.*)\sreturned |
| ostrzegać, | w odpowiedzi nie znaleziono żadnych mikroproduktów Edge | console.warn | |
| ostrzegać, | w organizacji nie znaleziono mikroserwerów proxy na krawędzi | console.warn | |
| ostrzegać, | w odpowiedzi nie znaleziono mikroserwerów proxy na krawędzi | console.warn | |
| ostrzegać, | nie znaleziono produktów w organizacji | console.warn | |
| ostrzegać, | w odpowiedzi nie znaleziono produktów | console.warn | |
| ostrzegać, | używa starej konfiguracji z pamięci podręcznej, | console.warn | |
moduł microgateway-plugins |
|||
| błąd | Konfiguracja nie istnieje | zgłasza | Powiązane z plikiem YAML |
| błąd | apikey | Odpowiedź HTTP | Błędy we wtyczce apiky |
| błąd | bauth | Odpowiedź HTTP | Błędy we wtyczce bauth |
| błąd | extauth | Odpowiedź HTTP | Błędy w wtyczce extauth |
| błąd | OAuth | Odpowiedź HTTP | Błędy we wtyczce OAuth |
| ostrzegać, | Podczas przetwarzania danych analitycznych Apigee wystąpił błąd. Zezwalanie na kontynuowanie przetwarzania żądania | logger.error | |
| ostrzegać, | ignorowanie błędu | console.warn | wtyczki apikeys, oauth i oauthv2; |
| ostrzegać, | błąd analizy JWT: | console.warn | |
| ostrzegać, | W obiekcie odpowiedzi oath brakuje funkcji setHeader | console.warn | Błąd parametru oauth oznacza, że niektóre błędy nie będą zgłaszane. |
| ostrzegać, | Obiekt odpowiedzi oath nie jest dostarczany przez środowisko wykonawcze | console.warn | błąd parametru oauth |
| ostrzegać, | Obiekt statystyk uwierzytelniania nie jest dostarczany przez środowisko wykonawcze | console.warn | błąd parametru oauth |
Moduł apigeetool-node |
|||
| błąd | Nie udało się usunąć pamięci podręcznej. Kod stanu: %d', res.statusCode | callback | Wyrzucany w pliku deletecache.js. Kod stanu z Apigee Edge. Przekazuje do wywołania zwrotnego błąd zrzutu stosu z tym komunikatem: done(new Error(errMsg)); |
| błąd | Usuwanie produktu nie powiodło się. Kod stanu: %d', res.statusCode | callback | Wyrzucony w pliku deleteproduct.js. Kod stanu z Apigee Edge. Przekazuje do wywołania zwrotnego błąd zrzutu stosu z tym komunikatem: done(new Error(errMsg)); |
| błąd | Musisz podać wartości org, api i revision. | callback | Wyrzucany w pliku fetchproxy.js. Błąd konfiguracji. |
| błąd | Podczas pobierania serwera proxy wystąpił błąd %d: %j | callback | Wyrzucany w pliku fetchproxy.js. Kod stanu inny niż 200. |
| błąd | Nie udało się utworzyć aplikacji. Kod stanu: %d | callback | Wyrzucony w pliku createapp.js. Przekazuje wszystkie błędy z powrotem do wywołań zwrotnych jako błędy śledzenia stosu. Nie zapisuje niczego w konsoli ani w dziennikach. |
| błąd | Polecenie command + ' nie powiodło się. Kod stanu: %d | callback | Wyjątek zgłaszany w pliku command-utils.js. W przypadku każdego polecenia, które zostanie przeanalizowane i przekazane do tego modułu, każdy kod inny niż 200 lub 201 wygeneruje komunikat o błędzie. Formatuje tę wiadomość, ale jej nie drukuje. Przekazuje do wywołań zwrotnych błąd ze zrzutem stosu i komunikatem. |
| błąd | Podczas pobierania udostępnionego przepływu wystąpił błąd %d: %s | callback | Wyrzucany w pliku fetchsharedflow.js. W przypadku każdego stanu HTTP innego niż 200. Jeśli się powiedzie, ale nie uda się zapisać pliku, w konsoli pojawi się komunikat: Nie udało się zapisać pliku Tekst błędu: [stack_trace_error] |
| błąd | Tworzenie klucza KeySecret nie powiodło się. Kod stanu: %d', res.statusCode | callback | Wyrzucany w pliku createappkey.js. W przypadku kodów stanu HTTP z Apigee Edge, które nie są równe 200 ani 201. |
| błąd | Nie udało się utworzyć pamięci podręcznej. Kod stanu: %d', res.statusCode | callback | Wyrzucany w pliku createcache.js. W przypadku kodów stanu HTTP z Apigee Edge, które nie mają wartości 200 ani 201. |
| błąd | Nie udało się utworzyć produktu. Kod stanu: %d', res.statusCode | callback | Wyrzucany w pliku createproduct.js. W przypadku kodów stanu HTTP z Apigee Edge, które nie są kodem 201. Jeśli stan HTTP to 201, ale odpowiedź zawiera błąd JSON, błąd JSON jest przekazywany do wywołania zwrotnego. |
| błąd | Usuwanie aplikacji nie powiodło się. Kod stanu: %d', res.statusCode | callback | Wyjątek zgłaszany w pliku deleteapp.js. W przypadku kodów stanu HTTP z Apigee Edge, które nie są równe 200. Jeśli stan HTTP to 200, ale odpowiedź zawiera błąd JSON, błąd JSON jest przekazywany do wywołania zwrotnego. |
| błąd | Tworzenie dewelopera nie powiodło się. Kod stanu: %d', res.statusCode | callback | Wyrzucany w pliku createdeveloper.js. W przypadku kodów stanu HTTP z Apigee Edge, które nie są kodem 201. Jeśli stan HTTP to 201, ale odpowiedź zawiera błąd JSON, błąd JSON jest przekazywany do wywołania zwrotnego. |
| błąd | Usunięcie dewelopera nie powiodło się. Kod stanu: %d', res.statusCode | callback | Wyrzucany w pliku deletedeveloper.js. W przypadku kodów stanu HTTP z Apigee Edge, które nie są równe 200. Jeśli stan HTTP to 200, ale odpowiedź zawiera błąd JSON, błąd JSON jest przekazywany do wywołania zwrotnego. |
Błędy wtyczek
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.