我刚开始使用Pentaho数据集成,并且能够从UI创建转换/作业,并从UI和Pentaho DI java SDK运行它们。此外,我成功设置了carte服务器,提交了转换,并在carte webUI上监控它的状态。
我的问题是:
carte服务器是否还公开了我可以提交作业/转换并监控其进度的任何JSON / XML rest API?现在它似乎只是为了通过浏览器使用而开发的。
由于 - Nitin,
答案 0 :(得分:3)
是的,REST API存在。
Carte基于Jetty服务器,该服务器用于Web浏览器,但没有理由阻止发送/接收请求,如http://your-server:9090/kettle/status?xml=true
。
但是,我看到两个主要障碍:首先,您将收到html,您必须从中提取相关信息。这不难做,但必须由你完成。
其次,是文档。 community documentation相当短,EE edition documentation无法解决问题。有一个underground documentation但可能已经过时(或者它可能存在一个我不知道的更近期)。
所以你必须在forum和来源[来源] [5]中抓取。在org.pentaho.di.www
包中,您会找到大量*Servlet.java
,每个CONTEXT_PATH
对应一个操作,其动作的结构在变量public static final String CONTEXT_PATH = "/kettle/runTrans";
中的类的开头定义。
例如,类org.pentaho.di.www.RunTransServlet.java包含在第58行:http://your-server:9090/kettle/runTrans?...
,表示运行转换的网址为doGet
。然后,通过查看第68-145行的html文档,您可以通过阅读Access-Control-Allow-Origin: *
方法的代码,获得2个参数:转换名称和日志级别。
它比听起来容易得多(感谢Matt Casters和Jens Bleuel在软件工程方面的礼物)。
我自己做了一个信息较少的小型ajax界面。在他们发明这个CORS之前,你必须检查broadcom-sta-dkms
是否写入响应头。
所以,如果你足够勇敢并计划在这方面做点什么,请让我及时了解并毫不犹豫地请求帮助。