Ja, besteht die REST-API.
Die Karte basiert auf einem Jetty-Server, der für die Verwendung in einem Webbrowser gedacht ist, aber es gibt keinen Grund, eine Sende-/Empfangsanforderung wie http://your-server:9090/kettle/status?xml=true
zu verhindern.
Allerdings sehe ich zwei Haupthindernisse: Zuerst erhalten Sie HTML, von dem Sie die relevanten Informationen extrahieren müssen. Es ist nicht schwer zu tun, aber es muss von dir gemacht werden.
Zweitens ist die Dokumentation. Die community documentation ist ziemlich kurz, und die EE edition documentation befasst sich nicht mit der Frage. Es gibt eine underground documentation aber ist möglicherweise veraltet (oder es kann eine neuere, die ich weiß nicht existieren).
Sie sind also verpflichtet, in der forum und in den Quellen [Quelle] [5] zu kriechen. Im Paket org.pentaho.di.www
finden Sie viele *Servlet.java
, die jeweils einer Aktion entsprechen, deren URL am Anfang der Klasse in der Variablen definiert ist.
Zum Beispiel enthält die Klasse org.pentaho.di.www.RunTransServlet.java in Zeile 58: public static final String CONTEXT_PATH = "/kettle/runTrans";
, die angibt, dass die URL zum Ausführen einer Transformation http://your-server:9090/kettle/runTrans?...
ist. Dann haben Sie jetzt 2 Parameter den Namen der Umwandlung und die Protokollierungsstufe, entweder indem Sie in der HTML-Dokument in den Zeilen 68 bis 145, entweder durch Lesen des Codes der doGet
-Methode.
Es ist viel einfacher als es klingt (dank Matt Casters und Jens Bleuel Geschenk in Software-Engineering).
Ich habe selbst eine kleine Ajax-Schnittstelle mit weniger Informationen. Es war, bevor sie dieses CORS Zeug erfanden, also müssen Sie überprüfen, dass das in den Antwortheader geschrieben wird.
Also, wenn Sie mutig genug sind und planen, etwas in dieser Richtung zu tun, halten Sie mich auf dem neuesten Stand und zögern Sie nicht, um Hilfe zu bitten.
Kannst du etwas über die Integration von Carte mit dem Pentaho-Tool erfahren? Wie weiß mein Carte-Server, welcher Job ausgeführt werden soll? Wenn ich versuche, einen Job auszuführen, indem ich auf die Rest-API klicke, erhalte ich den Fehler "Verbindung zum Repository nicht möglich". Ich habe den Slave-Server in der Transformation Registerkarte im Tool konfiguriert –