2017-08-10 2 views
0

Selon le Kibana documentation, je peux accéder à elasticsearch en tant que service et exécuter des requêtes personnalisées.Kibana 5 accès au service es à partir d'un plugin

J'ai essayé de le faire dans mon propre plugin (généré avec le modèle de service du plugin kibana), mais angularjs ne reconnaît pas 'es' ou 'esAdmin' comme un service valide.

L'exception ressemble:

Uncaught Error: [$injector:modulerr] Failed to instantiate module kibana due to: 
Error: [$injector:modulerr] Failed to instantiate module esAdmin due to: 
Error: [$injector:nomod] Module 'esAdmin' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. 
http://errors.angularjs.org/1.4.7/$injector/nomod?p0=esAdmin 

Ce que j'essaie de faire est la suivante:

uiModules.get('kibana', ['esAdmin', 'es']) 
.run(function (esAdmin, es) { 
    es.ping() 
    .then(
    () => {console.log("es pinged");} 
    ).catch(err => { 
    console.log(err); 
    }); 

}); Que dois-je importer ou faire pour pouvoir utiliser ce service?

Répondre

0

Je commis deux erreurs:

  1. esAdmin et es ne sont pas des modules, donc je ne pas besoin de les injecter comme la dépendance du module angulaire
  2. je manquais les modules d'importation autoload: import 'ui/autoload/modules';

Après cela, ça marche.