【问题标题】:Pentaho-carte rest api?Pentaho-carte rest api?
【发布时间】:2017-05-16 10:15:01
【问题描述】:

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

我的问题是

carte 服务器是否还公开任何 JSON/XML REST API,我可以通过这些 API 提交作业/转换并监控它们的进度?现在它似乎只为通过浏览器使用而开发。

谢谢 - 尼丁,

【问题讨论】:

  • 您能否对将 carte 与 pentaho 工具集成在一起有所了解,我的 carte 服务器如何知道要执行哪个作业。当我尝试通过点击其余 api 来执行作业时,我收到此错误消息“无法连接到存储库”。我已经在工具的转换选项卡中配置了从服务器

标签: pentaho pentaho-data-integration


【解决方案1】:

是的,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,每个对应一个动作,其url 定义在变量CONTEXT_PATH 中的类的开头。

例如,类 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: * 是否写入响应头。

所以,如果你足够勇敢并计划朝那个方向做点什么,请让我了解最新情况,并毫不犹豫地请求帮助。

【讨论】:

  • 哇!!!你解释得很漂亮:) 我一定会保持这个线程是最新的。此外,如果时间允许,将尝试实现一个 rest-api 包装器。再次感谢..
  • 你会很好的。 Carte 是由 Kettle 的家伙完成的一种奇妙的软体。当 Pentaho 接手该产品时,他们计划做一个更好的,尽管是付费版本。他们没有成功,但 Carte 被遗忘了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 2019-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多