2017-05-16 50 views
0

我刚刚开始使用Pentaho数据集成,并能够从UI创建转换/作业,并从UI以及Pentaho DI java SDK中运行它们。另外,我成功设置了carte服务器,提交了转换,并在carte webUI上监视它的状态。Pentaho-carte rest api?

我的问题是

点是否服务器还暴露出任何JSON/XML API休息了,我可以提交作业/改造和监测其进展情况?现在它似乎只能通过浏览器进行开发。

感谢 - 尼廷,

+0

您能否介绍一下使用pentaho工具集成carte,我的carte服务器如何知道要执行哪项工作。当我尝试通过点击其余api执行作业时,出现此错误,提示“无法连接到存储库”。我已经在工具 –

回答

2

是的,REST API存在。

Carte基于一个Jetty服务器,它的目的是在网络浏览器上使用,但没有理由阻止发送/接收请求,如http://your-server:9090/kettle/status?xml=true

但是,我看到两个主要障碍:首先,您将收到必须提取相关信息的html。这并不难,但必须由你来完成。

其次,是文档。 community documentation比较短,而EE edition documentation没有解决这个问题。有一个underground documentation,但可能已过时(或可能存在一个我不知道的更近的)。

所以你必然会在forum和sources [source] [5]中抓取。在org.pentaho.di.www包中,您可以找到很多*Servlet.java,每个对应于在变量中的类的开头处定义url的操作。

例如,org.pentaho.di.www.RunTransServlet.java类包含第58行:public static final String CONTEXT_PATH = "/kettle/runTrans";,指示运行转换的URL为http://your-server:9090/kettle/runTrans?...。然后,通过阅读第68-145行的html文档,通过阅读doGet方法的代码,您现在可以获得2个参数的转换名称和日志级别。

它比听起来容易得多(感谢Matt Casters和Jens Bleuel在软件工程方面的天赋)。

我自己做了一个小型的ajax接口,信息量少。之前他们发明了这个CORS的东西,所以你必须检查Access-Control-Allow-Origin: *是否写入响应头。

所以,如果你足够勇敢并计划在那个方向做点什么,让我保持最新状态,不要犹豫,请求帮助。

+0

哇转换标签中配置了从服务器哇!你解释得很漂亮:)我一定会保持这个线程是最新的。此外,如果时间允许,将尝试实现rest-api包装。再次感谢.. –

+1

那你很高兴你。 Carte是Kettle的家伙所做的一个非凡的软件。当Pentaho购买该产品时,他们计划做一个更好的,尽管付费的版本。他们没有成功,但Carte被遗忘了。 – AlainD