2017-04-09 62 views
1

我正在构建一个Kibana插件,它将代表用户查询Elasticsearch。 official documentation表示我可以使用kibana模块中的es服务。如何将Elasticsearch服务注入Kibana控制器?

uiModules 
.get('app/demo', ['kibana']) 
.controller('demoController', function ($scope, esAdmin, es) { 
    es.ping() 
    .then(() => esAdmin.ping()) 
    .catch(err => { 
    console.log('error pinging servers'); 
    }); 
}); 

不过,该插件将无法启动并出现以下错误:

Error: [$injector:unpr] Unknown provider: esAdminProvider <- esAdmin <- demoController 

看来,es服务未与kibana模块注册。

然后我试图复制Console如何工作。它不使用Elasticsearch服务,而是在服务器上创建代理API。但是,我不知道Console如何使用用户的身份验证信息调用代理API。

我正在用尽想法。预先感谢您提供有关如何从插件查询Elasticsearch的帮助。

回答

0

使用esResponse,看看蒂姆罗斯kibana plugin tutorial

+0

谢谢你的资源。由于我既没有构建可视化也没有使用'TemplateVisType'服务,因此我的范围中没有'esResponse'。在Tim的教程中,所有关于将数据交给'TemplateVisType',它会自动为我查询Elasticsearch。我想要做的是启动一个自定义查询,但是。 –