Aufruf von R-as-a-web-service mit Parameter und laden der JSON?
Ich bin ziemlich neu mit R
. Was ich versuche zu tun ist, um in der Lage sein, zu laden, eine URL aus einer anderen Anwendung (Java) die Ausführung einer R
Skript und die Ausgabe einer JSON
damit meine Anwendung kann mit ihm arbeiten.
Ich verstehe, es gibt einige frameworks, wie shiny
die als web-Server für R, aber ich kann nicht finden die Dokumentation auf jene Rahmenbedingungen, wie zum übergeben von Parametern über die URL, so dass R Sie nutzen kann.
Ideal, ich muss einen Aufruf einer URL wie:
http://127.0.0.1/R/param1/param2
Und dass die URL wird bei einem Anruf ein R-Skript verwenden wird param1
und param2
um einige Funktionen und zurückgeben JSON
die ich Las dann aus meiner app.
- Ich weiß nicht, der rest framework für R. möchten Sie vielleicht Blick auf Rserve und der damit verbundenen java-client
- Haben Sie einen Blick auf opencpu.org
- Google "R CGI-Skript". Ein paar Lösungen. Dieses eine rforge.net/FastRWeb wurde beibehalten, die vor kurzem von einer vertrauenswürdigen Quelle in der R-community.
- Danke, werde ich untersuchen alle Lösungen vorgeschlagen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie das nicht getan haben und doch bitte der Kasse [DeployR]. Sie können auch Fragen, um die DeployR Google-Gruppe für die Hilfe.
Für die vollständige Offenlegung, ich bin einer der Autoren von DeployR
Übersicht
DeployR ist ein Integrations-Technologie für die Bereitstellung von R-Analysen innerhalb von web -, desktop -, mobile-und dashboard-Anwendungen als auch backend-Systeme. DeployR verwandelt Ihre R-Skripte in die web analytics-Dienste, so dass R-code kann ganz einfach ausgeführt werden, indem Anwendungen, die auf einem sicheren server.
Analytics-web-services, DeployR löst auch die Schlüssel der integration Probleme, vor denen diese Annahme von R-basierte Analysen, die neben die bestehende IT-Infrastruktur. Diese Dienste machen es einfach für Entwickler, um die Zusammenarbeit mit data scientists zu integrieren R-analytics in Ihre Anwendungen ohne R Programmierkenntnisse.
DeployR ist in zwei Editionen erhältlich: DeployR Öffnen und DeployR Enterprise. DeployR Öffnen ist ein freies, open-source-Lösung, die ideal für prototyping, erstellen und bereitstellen nicht-Kritischer business-Applikationen.
DeployR Enterprise Waagen für business-kritische Anwendungen und bietet Unterstützung für die Produktion-Grad-workloads, sowie nahtlose integration mit gängigen enterprise-security-Lösungen wie single sign-on (SSO), Lightweight Directory Access Protocol (LDAP), Active Directory, oder Pluggable Authentication Modules (PAM).
Präfekt. DeployR ist bestimmt für die Daten, die Wissenschaftler wie auch der Entwickler der Anwendung, die möglicherweise nicht wissen, R.
DeployR tut dies, beenden Sie auch. Hilfe bei der Kommunikation zwischen Ihrer Anwendung
und die DeployR-server (wird bei der Ausführung Ihrer R) gibt es die DeployR-Client-Bibliotheken.
Je nach Ihren Bedürfnissen, DeployR hat out-of-the-box "client library" - Unterstützung, in:
https://github.com/deployr/java-client-library
https://github.com/deployr/dotnet-client-library
https://github.com/deployr/js-client-library
DeployR unterstützt auch die RBroker Rahmen
sollte Ihre use-case-oder Laufzeit erwarten, dass die high-volume Arbeitsbelastung oder die Notwendigkeit für periodische, geplante oder batch-Verarbeitung.
DeployR fungiert als Ihr analytics-engine über APIS. Im Grunde betrachten Sie es als
drehen Sie den R-Skripten in sichere analytische web services konsumiert werden, wie jeder
andere web-service.
Parameter übergeben
Übergabe von Parametern an ein R-Skript in DeployR ist einfach, aber Sie müssen verstehen, dass Sie der übergabe von Parametern an ein R-Skript aus einer Sprache, die nicht die R. Als solche, es gibt einige 'Daten-Kodierung', die getan werden muss. Zum Beispiel, schalten Sie Ihre Java-String in ein
R character
oder Ihre Java-boolean, um eineR logical
...Die DeployR Client-Bibliothek oder RBroker macht dies einfach.
Es klingt wie Sie sind mit Java, also zuerst überprüfen Sie die Java-tutorial java-Beispiel-client-Grundlagen
https://github.com/deployr/java-example-rbroker-basics
Ihnen einige Kontext dann Kasse der vielen Java-Beispielen unter java-Beispiel-client-Daten-io -https://github.com/deployr/java-example-client-data-io
.Das Beispiel Quelle ist vollständig verfügbar, so dass, sollte Ihnen alles, was Sie brauchen
um zu verstehen, wie zu tun, basic I/O, von Ihrer Anwendung aus auf die DeployR-server für R analytics.
Schlage ich vor, den DeployR-Client-Bibliotheken für Ihre Kommunikation, wie oben beschrieben, ist es genau das.
Wie immer Fragen stellen, auf die DeployR Google-Gruppe
https://groups.google.com/forum/#!forum/deployr
für die Hilfe.Haben Sie einige Optionen, das zu tun, IMHO OpenCPU ist ein schönes.
Ist es am einfachsten open-source-Implementierung der web-server zum bereitstellen von R Berechnung als REST-service.
Dem Schöpfer von OpenCPU ist der gleiche Autor der jsonlite Paket, und man kann leicht zu bekommen, und pass json-Parameter mit OpenCPU, wie Sie sehen können hier.
Andere Möglichkeit zum implementieren von REST-APIs, web-service, in R ist eine Klempner Paket (ehemals rapier). Es verwendet die Funktion Dekoration Ansatz in Besondere Bemerkungen:
Dann rufen Sie: