Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.
Cette rubrique décrit les erreurs et les avertissements que vous pouvez rencontrer avec Edge Microgateway.
Erreurs générales de l'application
HTTP 500, échec dans le gestionnaire d'erreurs : la plupart des erreurs auront ce numéro, tout comme certaines erreurs renvoyées par les cibles. En particulier, errors-middleware.js est utilisé dans tout le module microgateway-core. Lorsqu'il est utilisé, il écrit des codes d'état dans les journaux à l'aide de
logger object: logger.error(err, 'failed in error handler');Edge Microgateway. Pour les codes reçus des cibles entre 100 et 300, errors-middleware.js réécrit le statusCode sur 500 pour le renvoyer au client.HTTP 404 : ce code d'état peut être généré sous la forme d'une trace de la pile avec le message
no match found for [API_path_name].
Erreurs et avertissements liés aux modules
Vous pouvez utiliser ces informations pour configurer des alertes qui vous aident à surveiller et à gérer votre déploiement Edge Microgateway.
Les termes suivants, qui figurent dans la référence des erreurs sous "Gestionnaire", indiquent comment les différentes erreurs sont gérées dans Edge Microgateway.
- assert : en règle générale, Edge Microgateway s'arrête lorsqu'une évaluation assert échoue. Toutefois, ce n'est pas toujours le cas, car les assertions génèrent des exceptions qui peuvent être interceptées.
- throws : arrêt possible du système.
- callback : l'erreur est transmise à un rappel et le système peut continuer.
| Type | Message | Handler | Remarques |
|---|---|---|---|
module microgateway |
|||
| erreur | Vous devez indiquer une organisation | revendiquer [context sensitive] | assert(options.org,"org is required"); |
| erreur | L'environnement est obligatoire. | revendiquer [context sensitive] | assert(options.env,"env is required") |
| erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username || options.token,"username is required"); |
| erreur | Veuillez saisir un mot de passe | revendiquer [context sensitive] | assert(options.password || options.token,"password is required") |
| erreur | Vous devez indiquer une organisation | revendiquer [context sensitive] | assert(options.org,"org is required"); |
| erreur | L'environnement est obligatoire. | revendiquer [context sensitive] | assert(options.env,"env is required") |
| erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username || options.token,"username is required"); |
| erreur | Veuillez saisir un mot de passe | revendiquer [context sensitive] | assert(options.password || options.token,"password is required") |
| erreur | Vous devez indiquer une organisation | revendiquer [context sensitive] | assert(options.org,"org is required"); |
| erreur | L'environnement est obligatoire. | revendiquer [context sensitive] | assert(options.env,"env is required") |
| erreur | Vous devez indiquer une organisation | revendiquer [context sensitive] | assert(options.org,"org is required"); |
| erreur | L'environnement est obligatoire. | revendiquer [context sensitive] | assert(options.env,"env is required") |
| erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username, 'username is required'); |
| erreur | Veuillez saisir un mot de passe | revendiquer [context sensitive] | assert(options.password, 'password is required'); |
| erreur | Vous devez indiquer une organisation | revendiquer [context sensitive] | assert(options.org, 'org is required'); |
| erreur | L'environnement est obligatoire. | revendiquer [context sensitive] | assert(options.env, 'env is required'); |
| erreur | doit avoir un fichier cible attribué. | revendiquer [context sensitive] | assert(targetFile, 'must have an assigned target file') |
| erreur | doit avoir une clé | revendiquer [context sensitive] | assert(key, 'must have a key'); |
| erreur | doit disposer d'un secret. | revendiquer [context sensitive] | assert(secret, 'must have a secret'); |
| erreur | dir doit être configuré | revendiquer [context sensitive] | assert(dir, 'dir must be configured') |
| erreur | Le rappel doit être présent. | revendiquer [context sensitive] | assert(callback, 'callback must be present') |
| erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username, 'username is required'); |
| erreur | Veuillez saisir un mot de passe | revendiquer [context sensitive] | assert(options.password, 'password is required'); |
| erreur | Vous devez indiquer une organisation | revendiquer [context sensitive] | assert(options.org, 'org is required'); |
| erreur | L'environnement est obligatoire. | revendiquer [context sensitive] | assert(options.env, 'env is required'); |
| erreur | runtimeUrl est obligatoire | revendiquer [context sensitive] | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| erreur | mgmtUrl est obligatoire | revendiquer [context sensitive] | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| erreur | Vous devez spécifier un fichier | revendiquer [context sensitive] | assert(options.file,"file is required") |
| erreur | doit avoir une cible | revendiquer [context sensitive] | assert(options.target, 'must have target'); |
| erreur | Plug-ins non configurés | revendiquer [context sensitive] | assert(config.edgemicro.plugins, 'plugins not configured'); |
| erreur | Le répertoire de plug-ins n'existe pas : + pluginDir | revendiquer [context sensitive] | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| erreur | Le répertoire du plug-in n'est pas un répertoire : + pluginDir | revendiquer [context sensitive] | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| erreur | Erreur lors de la lecture du répertoire de plug-ins : + pluginDir | revendiquer [context sensitive] | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| erreur | doit comporter un jeton. | revendiquer [context sensitive] | assert(token, 'must have a token'); |
| erreur | Le chemin de configuration ne peut pas être vide | revendiquer [context sensitive] | assert(config, 'configpath can't be empty'); |
| erreur | doit contenir EDGEMICRO_KEY. | revendiquer [context sensitive] | assert(key, 'must have EDGEMICRO_KEY'); |
| erreur | doit contenir EDGEMICRO_SECRET | revendiquer [context sensitive] | assert(secret, 'must have EDGEMICRO_SECRET'); |
| erreur | La configuration n'existe pas | génère | lié au fichier YAML |
| erreur | edgemicro semble déjà en cours d'exécution. | console.error | tentative d'écrasement d'un fichier .sock |
| erreur | Échec de la vérification des modifications apportées à la configuration. Nouvel essai après | console.error | Problème de communication avec Edge |
| erreur | Si le serveur ne fonctionne pas, cela peut être dû à un arrêt incorrect du démarrage précédent. | console.error | |
| erreur | %s manquant. Veuillez exécuter | console.error | Missing (.*), Please run |
| erreur | Échec du rechargement d'edgemicro | console.error | niveau de commande |
| erreur | L'arrêt d'edgemicro a échoué | console.error | Niveau de commande |
| erreur | 'Try removing ' + ipcPath + ' and start again' | console.error | |
| erreur | "La configuration du cache " + cache + " n'existe pas. Sortie." | console.error | |
| erreur | Impossible d'écrire le fichier de configuration : | console.error | La configuration échouera |
| erreur | Le fichier de configuration ne s'est pas téléchargé : | console.error | La configuration échouera |
| erreur | Échec du démarrage du micro Edge | console.error | Il ne devrait pas être en cours d'exécution. |
| erreur | edgemicro n'est pas en cours d'exécution. | console.error | Vérifiez que le processus ne figure pas dans la liste. |
| erreur | L'environnement est obligatoire. | console.error | Variables d'environnement requises pour l'exécution |
| erreur | error - editing apiproxy Callout.xml | console.error | Accès au fichier |
| erreur | Erreur lors de la modification de default.xml d'apiproxy | console.error | Accès au fichier |
| erreur | Vérification des erreurs pour le certificat. Installation d'un nouveau certificat. | console.error | Impossible d'utiliser la clé publique |
| erreur | Erreur lors de la récupération de la région pour l'organisation | console.error | key-gen.js, cert-lib.js et private.js |
| erreur | Erreur lors de l'importation des identifiants | console.error | Impossible de synchroniser la clé publique avec Edge |
| erreur | échec | console.error | key-gen.js |
| erreur | Échec de l'initialisation du fichier configpath %s | console.error | La configuration ne se charge pas |
| erreur | Réponse non valide de l'API de région | console.error | key-gen.js, cert-lib.js et private.js |
| erreur | Veuillez indiquer la clé | console.error | Paramètre |
| erreur | Vous devez indiquer une organisation | console.error | Paramètre |
| erreur | Le port n'est pas disponible. | console.error | Paramètre |
| erreur | Veuillez indiquer un secret. | console.error | Paramètre |
| erreur | Protocole d'URL non accepté : | console.error | Les informations de configuration indiquent un protocole Internet qui ne fait pas partie du champ d'application d'Edge Microgateway. |
| erreur | Échec de la vérification du cas négatif de l'analyse | console.error | Plantage/Échec possible |
| erreur | Validation des données analytiques avec la charge utile : ÉCHEC | console.error | Plantage/Échec possible |
| erreur | Vérification de la disponibilité de l'URL d'amorçage : ÉCHEC | console.error | Plantage/Échec possible |
| erreur | Vérification de la disponibilité de jwt_public_key : ÉCHEC | console.error | Plantage/Échec possible |
| erreur | Vérification de la disponibilité des produits : ÉCHEC | console.error | Plantage/Échec possible |
| erreur | Vérification du quota avec les produits configurés : ÉCHEC | console.error | Plantage/Échec possible |
| warn | Échec de la récupération de la configuration depuis la passerelle. Poursuite de l'opération avec une copie mise en cache. | console.error | |
| warn | KVM existe déjà dans votre organisation | console.log | |
| warn | est déjà déployé | console.log | |
| warn | Plug-in séquencé introuvable : | console.warn | |
| warn | pluginDir %s n'existe pas | console.log | pluginDir (.*) n'existe pas |
module microgateway-core |
|||
| erreur | Configuration non initialisée | revendiquer [context sensitive] | assert(config, 'config not initialized') |
| erreur | doit disposer d'une configuration. | revendiquer [context sensitive] | assert(config, ' must have a config') |
| erreur | Configuration requise | revendiquer [context sensitive] | assert(config, 'must have config') |
| erreur | La configuration doit avoir un UID | revendiquer [context sensitive] | assert(config.uid, 'config must have uid'); |
| erreur | must have config.edgemicro.logging in config | revendiquer [context sensitive] | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| erreur | doit avoir une méthode de requête. | revendiquer [context sensitive] | assert(httpLibrary.request, 'must have request method'); |
| erreur | Le plug-in doit être chargé en mémoire. | revendiquer [context sensitive] | assert(options.plugin, "must have plugin loaded in memory"); |
| erreur | init doit être une fonction | revendiquer [context sensitive] | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| erreur | doit contenir le nom du plug-in | revendiquer [context sensitive] | assert(options.pluginName, "must have plugin name"); |
| erreur | Ignorer les gestionnaires de plug-ins non valides + nom | revendiquer [context sensitive] | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| erreur | Les options doivent contenir une configuration | revendiquer [context sensitive] | assert(config, 'options must contain config') |
| erreur | Le plug-in doit avoir un nom | revendiquer [context sensitive] | assert(name,"plugin must have a name") |
| erreur | Le nom doit être une chaîne. | revendiquer [context sensitive] | assert(_.isString(name),"name must be a string"); |
| erreur | Le plug-in doit être une fonction. | revendiquer [context sensitive] | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| erreur | doit avoir une clé | revendiquer [context sensitive] | assert(key, 'must have a key'); |
| erreur | doit disposer d'un secret. | revendiquer [context sensitive] | assert(secret, 'must have a secret'); |
| erreur | doit disposer d'un répertoire de configuration source | revendiquer [context sensitive] | assert(source, 'must have a source config directory'); |
| erreur | Erreur lors du chargement du plug-in | console.error | Plug-in non chargé |
| erreur | Échec dans le gestionnaire d'erreurs | callback | Fonction HTTP server.on() |
| erreur | La longueur de l'en-tête dépasse la taille autorisée | Erreur HTTP | Le plug-in ne s'exécute pas |
| erreur | La réponse s'est terminée avant que le travail puisse être effectué | logger.error | Le plug-in Target ne s'exécute pas |
| erreur | Le gestionnaire a généré une exception. | callback | Erreur de capture du plug-in (catch) |
| erreur | Erreur lors du démarrage d'Edge Micro | callback | Edge Microgateway ne démarre pas |
| erreur | Le plug-in doit être une fonction. | génère | |
| warn | console.error | avertit | Écrire des journaux |
| warn | Erreur targetRequest | Gestion des exceptions de la cible | Erreur du client HTTP lors de la connexion à la cible |
| warn | Erreur targetResponse | Gestion des exceptions de la cible | Erreur de serveur cible HTTP en lien avec la cible, telle qu'elle s'affiche dans le client |
module microgateway-config |
|||
| erreur | allow_message | revendiquer [context sensitive] | assert(+config.quota.allow > 0, allow_message); |
| erreur | La configuration n'existe pas | génère | Fichier YAML de configuration |
| erreur | La configuration est vide | génère | Fichier YAML de configuration |
| erreur | config n'est pas un fichier | génère | Fichier YAML de configuration |
| erreur | config is not defined | revendiquer [context sensitive] | assert(config, 'config is not defined'); |
| erreur | config.analytics.batchSize n'est pas valide | revendiquer [context sensitive] | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| erreur | config.analytics.batchSize n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| erreur | config.analytics.bufferSize n'est pas valide | revendiquer [context sensitive] | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| erreur | config.analytics.bufferSize n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| erreur | config.analytics.flushInterval n'est pas valide | revendiquer [context sensitive] | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| erreur | config.analytics.flushInterval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| erreur | config.analytics.proxy n'est pas "dummy" | revendiquer [context sensitive] | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| erreur | config.analytics.proxy n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| erreur | config.analytics.proxy_revision n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| erreur | config.analytics.proxy_revision n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| erreur | config.analytics.source n'est pas défini sur "microgateway" | revendiquer [context sensitive] | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| erreur | config.analytics.source n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| erreur | config.analytics.uri n'est pas une chaîne | revendiquer [context sensitive] | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| erreur | config.analytics.uri n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| erreur | config.apikeys.public_key n'est pas défini | revendiquer [context sensitive] | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| erreur | config.edge_config n'est pas défini | revendiquer [context sensitive] | assert(config.edge_config, 'config.edge_config is not defined'); |
| erreur | config.edge_config.bootstrap n'est pas défini | revendiquer [context sensitive] | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| erreur | config.edge_config.jwt_public_key n'est pas défini | revendiquer [context sensitive] | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| erreur | config.edge_config.proxy doit être défini si config.edge_config.proxy_tunnel est défini | revendiquer [context sensitive] | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
| erreur | config.edge_config.proxy_tunnel n'est pas une valeur booléenne | revendiquer [context sensitive] | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| erreur | config.edge_config.refresh_interval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| erreur | config.edge_config.refresh_interval est trop petit (1 h minimum) | revendiquer [context sensitive] | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| erreur | config.edge_config.retry_interval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| erreur | config.edge_config.retry_interval est trop petit (5 s minimum) | revendiquer [context sensitive] | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| erreur | config.edgemicro n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| erreur | config.edgemicro.logging n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| erreur | config.edgemicro.logging.dir n'est pas défini | revendiquer [context sensitive] | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| erreur | config.edgemicro.logging.level n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| erreur | config.edgemicro.max_connections n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| erreur | config.edgemicro.max_connections n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| erreur | config.edgemicro.plugins.sequence n'est pas un tableau | revendiquer [context sensitive] | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| erreur | config.edgemicro.port n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| erreur | config.oauth.allowInvalidAuthorization n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| erreur | config.oauth.allowNoAuthorization is not defined | revendiquer [context sensitive] | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| erreur | config.oauth.public_key n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| erreur | config.oauthv2.public_key n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| erreur | config.proxies n'est pas défini | revendiquer [context sensitive] | assert(config.proxies, 'config.proxies is not defined'); |
| erreur | config.proxy[ + index + ].base_path n'est pas défini | revendiquer [context sensitive] | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| erreur | config.proxy[ + index + ].max_connections n'est pas un nombre | revendiquer [context sensitive] | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| erreur | config.proxy[ + index + ].max_connections n'est pas défini | revendiquer [context sensitive] | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| erreur | config.proxy[ + index + ].name n'est pas défini | revendiquer [context sensitive] | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| erreur | config.proxy[ + index + ].proxy_name is not defined | revendiquer [context sensitive] | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| erreur | config.proxy[ + index + ].revision is not defined | revendiquer [context sensitive] | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| erreur | config.proxy[ + index + ].url is not defined | revendiquer [context sensitive] | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| erreur | config.quota.allow n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| erreur | config.quota.allow n'est pas défini | revendiquer [context sensitive] | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| erreur | config.quota.interval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| erreur | config.quota.interval n'est pas défini | revendiquer [context sensitive] | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| erreur | config.spikearrest n'est pas défini | revendiquer [context sensitive] | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| erreur | config.spikearrest.allow n'est pas valide | revendiquer [context sensitive] | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| erreur | config.spikearrest.allow n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| erreur | config.spikearrest.allow n'est pas défini | revendiquer [context sensitive] | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| erreur | config.spikearrest.bufferSize n'est pas valide | revendiquer [context sensitive] | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| erreur | config.spikearrest.bufferSize n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| erreur | config.spikearrest.timeUnit n'est pas défini | revendiquer [context sensitive] | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| erreur | ERREUR CRITIQUE : erreur lors de l'analyse de la liste des produits téléchargée | callback | |
| erreur | ERREUR CRITIQUE : erreur lors de l'analyse de la liste des proxys téléchargée | callback | |
| erreur | ERREUR DE MAUVAISE CONFIGURATION DU PRODUIT DÉTECTÉE | console.error | Suivi de console.warn('using old cached configuration'); |
| erreur | Erreur de lecture de la configuration à partir de | génère | Fichier YAML de configuration |
| erreur | Erreur lors de l'enregistrement de la configuration dans | callback | Fichier YAML de configuration |
| erreur | fatal: cached config not available, unable to continue | callback | |
| erreur | interval_message | revendiquer [context sensitive] | assert(+config.quota.interval > 0, interval_message); |
| erreur | Protocole non valide pour config.edge_config.proxy (http: ou https:: + proxy_url.protocol attendu) | revendiquer [context sensitive] | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| erreur | Hôte proxy non valide pour config.edge_config.proxy | revendiquer [context sensitive] | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| erreur | Il semble que Edge Micro n'ait pas été configuré. Veuillez consulter le guide de l'administrateur. | callback | Résultat : Échec du chargement de la configuration |
| erreur | Clé manquante | revendiquer [context sensitive] | assert(keys.key, 'key is missing'); |
| erreur | doit avoir configDir | revendiquer [context sensitive] | assert(configDir, 'must have configDir') |
| erreur | Options obligatoires | revendiquer [context sensitive] | assert(options, 'must have options'); |
| erreur | doit avoir une source. | revendiquer [context sensitive] | assert(source, 'must have source') |
| erreur | doit avoir une source à partir de laquelle charger | revendiquer [context sensitive] | assert(options.source, 'must have source to load from') |
| erreur | must have targetFile | revendiquer [context sensitive] | assert(fileName, 'must have targetFile') |
| erreur | Les options ne peuvent pas être nulles. | revendiquer [context sensitive] | assert(options, 'options cannot be null'); |
| erreur | options.keys ne peut pas être nul | revendiquer [context sensitive] | assert(options.keys, 'options.keys cannot be null'); |
| erreur | port_message | revendiquer [context sensitive] | assert(+config.edgemicro.port < 65536, port_message); |
| erreur | products doit être un tableau | revendiquer [context sensitive] | assert(Array.isArray(products), 'products should be an array'); |
| erreur | "proxies for product ' + product + ' should be an array" | revendiquer [context sensitive] | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| erreur | Le secret est manquant | revendiquer [context sensitive] | assert(keys.secret, 'secret is missing'); |
| erreur | la cible n'est pas définie. | revendiquer [context sensitive] | assert(target, 'target is not set'); |
| warn | Erreur lors du téléchargement de la configuration. Veuillez vérifier la configuration du bootstrap. | console.warn | |
| warn | Échec du téléchargement de jwt_public_key | console.warn | |
| warn | Les clés JWK ne sont pas activées | console.warn | |
| warn | message, 'download from', url, 'returned' | console.warn | Search for: (.*)\sdownload from\s(.*)\sreturned |
| warn | Aucun microproduit Edge trouvé dans la réponse | console.warn | |
| warn | Aucun microproxy Edge trouvé dans l'organisation | console.warn | |
| warn | Aucun microproxy Edge trouvé dans la réponse | console.warn | |
| warn | Aucun produit trouvé dans l'organisation | console.warn | |
| warn | Aucun produit trouvé dans la réponse | console.warn | |
| warn | Utilisation d'une ancienne configuration mise en cache | console.warn | |
Module microgateway-plugins |
|||
| erreur | La configuration n'existe pas | génère | Fichier YAML |
| erreur | apikey | Réponse HTTP | Échecs du plug-in apiky |
| erreur | bauth | Réponse HTTP | Échecs dans le plug-in bauth |
| erreur | extauth | Réponse HTTP | Échecs dans le plug-in extauth |
| erreur | Oauth | Réponse HTTP | Échecs dans le plug-in OAuth |
| warn | Une erreur s'est produite lors du traitement des données analytiques Apigee. Autoriser la poursuite du traitement des demandes | logger.error | |
| warn | ignoring err | console.warn | Plug-ins apikeys, oauth et oauthv2 |
| warn | Erreur lors de l'analyse du JWT : | console.warn | |
| warn | L'objet de réponse OAuth ne comporte pas setHeader | console.warn | Une erreur de paramètre OAuth indique que certaines erreurs ne seront pas signalées. |
| warn | L'objet de réponse OAuth n'est pas fourni par le runtime | console.warn | Erreur de paramètre OAuth |
| warn | L'objet de statistiques OAuth n'est pas fourni par l'environnement d'exécution. | console.warn | Erreur de paramètre OAuth |
module apigeetool-node |
|||
| erreur | Échec de la suppression du cache avec le code d'état %d', res.statusCode | callback | Générée dans deletecache.js. Code d'état d'Apigee Edge. Transmet à la fonction de rappel une erreur de trace de la pile avec le message : done(new Error(errMsg)); |
| erreur | Échec de la suppression du produit avec le code d'état %d', res.statusCode | callback | Générée dans deleteproduct.js. Code d'état d'Apigee Edge. Transmet à la fonction de rappel une erreur de trace de la pile avec le message : done(new Error(errMsg)); |
| erreur | org, api et revision doivent tous être spécifiés. | callback | Générée dans fetchproxy.js. Erreur de configuration |
| erreur | Erreur %d reçue lors de la récupération du proxy : %j | callback | Générée dans fetchproxy.js. Code d'état autre que 200. |
| erreur | Échec de la création de l'application avec le code d'état %d | callback | Générée dans createapp.js. Transmet toutes les erreurs aux rappels en tant qu'erreurs de trace de la pile. Ne génère aucune sortie de console ni aucune entrée de journal. |
| erreur | La commande + ' a échoué avec le code d'état %d | callback | Générée dans command-utils.js. Pour toute commande analysée et transmise à ce module, tout code autre que 200 ou 201 générera un message d'erreur. Met en forme ce message, mais ne l'imprime pas. Transmet une erreur de trace de la pile avec le message aux rappels. |
| erreur | Erreur %d reçue lors de la récupération du flux partagé : %s | callback | Générée dans fetchsharedflow.js. Pour tout état HTTP autre que 200. Si l'opération réussit, mais échoue à écrire un fichier, le message suivant s'affiche dans la console : Failed to write file Error text: [stack_trace_error] |
| erreur | Échec de la création de KeySecret avec le code d'état %d, res.statusCode | callback | Générée dans createappkey.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200 ni 201. |
| erreur | Échec de la création du cache avec le code d'état %d', res.statusCode | callback | Générée dans createcache.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200 ou 201. |
| erreur | Échec de la création du produit avec le code d'état %d', res.statusCode | callback | Générée dans createproduct.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 201. Si l'état HTTP est 201, mais que la réponse inclut un JSON d'erreur, ce JSON d'erreur est transmis au rappel. |
| erreur | Échec de la suppression de l'application avec le code d'état %d', res.statusCode | callback | Générée dans deleteapp.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200. Si l'état HTTP est 200, mais que la réponse inclut un JSON d'erreur, ce JSON d'erreur est transmis au rappel. |
| erreur | Échec de la création du développeur avec le code d'état %d', res.statusCode | callback | Générée dans createdeveloper.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 201. Si l'état HTTP est 201, mais que la réponse inclut un JSON d'erreur, ce JSON d'erreur est transmis au rappel. |
| erreur | Échec de la suppression du développeur avec le code d'état %d', res.statusCode | callback | Générée dans deletedeveloper.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200. Si l'état HTTP est 200, mais que la réponse inclut un JSON d'erreur, ce JSON d'erreur est transmis au rappel. |
Erreurs de plug-in
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.