将R作为带参数的Web服务调用并加载JSON?

Jor*_*elf 18 json web-services r shiny

我很新R.我想要做的是能够从另一个应用程序(Java)加载一个URL,该应用程序将运行一个R脚本并输出一个,JSON以便我的应用程序可以使用它.

我知道有一些框架shiny可以作为R的Web服务器,但是我找不到关于如何通过URL传递参数的框架的文档,因此R可以使用它们.

理想情况下,我需要调用以下URL:

http://127.0.0.1/R/param1/param2
Run Code Online (Sandbox Code Playgroud)

该URL将调用一个R脚本,该脚本将使用param1param2执行某些功能并返回一个JSON我将从我的应用程序中读取的内容.

小智 5

如果您还没有这样做,请结帐[DeployR].您也可以向DeployR Google Group发送问题以获取帮助.

如需完整披露,我是DeployR的作者之一

概观

DeployR是一种集成技术,用于在Web,桌面,移动和仪表板应用程序以及后端系统中部署R分析.DeployR将您的R脚本转换为分析Web服务,因此R代码可以由安全服务器上运行的应用程序轻松执行.

使用分析Web服务,DeployR还解决了那些采用基于R的分析以及现有IT基础架构的人所面临的关键集成问题.这些服务使应用程序开发人员可以轻松地与数据科学家协作,将R分析集成到他们的应用程序中,而无需任何R编程知识.

DeployR有两个版本:DeployR OpenDeployR Enterprise.DeployR Open是一个免费的开源解决方案,非常适合原型设计,构建和部署非关键业务应用程序. DeployR Enterprise可扩展业务关键型应用程序,并提供对生产级工作负载的支持,以及与流行的企业安全解决方案(如单点登录(SSO),轻量级目录访问协议(LDAP),Active Directory或可插拔)的无缝集成验证模块(PAM).

我对R很新

知府.DeployR适用于Data Scientist以及可能不了解R的应用程序开发人员.

我想要做的是能够从另一个应用程序(Java)加载一个URL,该应用程序将运行一个R脚本并输出一个JSON,以便我的应用程序可以使用它.

DeployR很好地退出了.为了帮助您的应用程序和DeployR服务器(将执行您的R)之间的通信,有DeployR Client库.

根据您的需求,DeployR在以下方面具有开箱即用的"客户端库"支持:

DeployR还支持RBroker Framework

如果您的用例或运行时预测到大量工作负载或需要定期,计划或批处理.

我知道有一些像闪亮的框架作为R的Web服务器,但我找不到关于如何通过URL传递参数的框架的文档,所以R可以使用它们

DeployR通过其APIS充当您的分析引擎.基本上可以将其视为将R脚本转换为安全的分析Web服务,以便像其他任何Web服务一样使用.

传递参数

在DeployR中将参数传递给R脚本很容易,但是您必须了解您是使用非R语言将参数传递给R脚本.因此,需要执行一些"数据编码".例如,将Java String转换为R character或者您的Java布尔值为R logical... DeployR Client库或RBroker使这一点变得简单.

这听起来像是在使用Java,所以首先查看Java教程java-example-client-basics https://github.com/deployr/java-example-rbroker-basics,为您提供一些上下文,然后在java-example-client-data-io 下查看许多Java示例https://github.com/deployr/java-example-client-data-io.示例源完全可用,因此应该为您提供所需的一切,以便了解如何从应用程序到DeployR服务器执行基本I/O以进行R分析.

理想情况下,我需要调用以下URL: http://127.0.0.1/R/param1/param2

我建议如上所述使用DeployR Client库进行通信,它就是这样做的.

一如既往地向DeployR Google Group 提出问题https://groups.google.com/forum/#!forum/deployr寻求帮助.

  • DeployR Open已被微软暂停. (4认同)