我知道有一些框架,如闪光,作为R的Web服务器,但是我无法找到有关如何通过URL传递参数的框架的文档,以便R可以使用它们.
理想情况下,我需要调用一个URL:
http://127.0.0.1/R/param1/param2
该URL将调用一个R脚本,它将使用param1和param2来执行一些函数并返回一个JSON,然后我将从我的应用程序读取.
解决方法
对于完整的披露我是DeployR的作者之一
概观
DeployR是一种用于在Web,桌面,移动和仪表板应用程序以及后端系统中部署R分析的集成技术. DeployR将您的R脚本转换为分析Web服务,因此可以通过在安全服务器上运行的应用程序轻松执行R代码.
通过使用分析Web服务,DeployR还可以解决那些采用基于R的分析与现有IT基础架构相结合的关键集成问题.这些服务使应用程序开发人员能够轻松与数据科学家合作,将R分析整合到其应用程序中,而无需任何R编程知识.
DeployR有两个版本:DeployR Open和DeployR Enterprise. DeployR Open是一种免费的开源解决方案,非常适用于原型,构建和部署非关键业务应用程序. DeployR Enterprise针对关键业务应用程序进行扩展,并提供对生产级工作负载的支持,以及与流行的企业安全解决方案(如单点登录(SSO)),轻型目录访问协议(LDAP),Active Directory或可插拔认证模块(PAM).
I am pretty new with R
长官. DeployR适用于数据科学家以及可能不知道R的应用程序开发人员.
What I am trying to do is to be able to load a URL from another application
(Java) which will run an R script and output a JSON so my application can work with it.
DeployR这样做很好.帮助您的应用程序之间的通信
并且DeployR服务器(将执行您的R)有DeployR Client libraries.
根据您的需求,DeployR具有开箱即用的“客户端库”支持:
> Java https://github.com/deployr/java-client-library
> .NET https://github.com/deployr/dotnet-client-library
> JavaScript和Node.js https://github.com/deployr/js-client-library
DeployR还支持RBroker Framework http://deployr.revolutionanalytics.com/documents/dev/rbroker/
如果您的用例或运行时间预期大量工作负载或需要定期,计划或批处理.
I understand there are some frameworks like shiny which act as web servers for
R,but I can’t find documentation on those frameworks on how to pass parameters
via the URL so R can use them
DeployR通过其APIS作为您的分析引擎.基本上认为是
将您的R脚本转换为安全的分析Web服务,以便像任何消费一样被消费
其他网络服务.
通过参数
将参数传递到DeployR中的R脚本很简单,但是您必须了解您从不是R的语言将参数传递到R脚本.因此,有一些“数据编码”需要完成.例如,将Java字符串转换为R字符或将Java布尔值转换为R逻辑…
DeployR客户端库或者RBroker使得这很容易.
听起来你正在使用Java,所以首先审查Java教程java-example-client-basics https://github.com/deployr/java-example-rbroker-basics给你一些上下文,然后检查许多Java示例java-example-client-data-io https://github.com/deployr/java-example-client-data-io.
示例源完全可用,因此应该给您所需的一切
以了解如何从您的应用程序中进行基本I / O到您的R分析的DeployR服务器.
Ideally I will need to call a URL like:
http://127.0.0.1/R/param1/param2
我建议您使用DeployR Client库进行通信,如上所述,它只是这样做.
一如以往,向DeployR Google Group https://groups.google.com/forum/#!forum/deployr提供问题以获取帮助.