[英]Creating a webservice running R scripts
大家,早安,
我开始使用R进行开发,并且需要创建一个Web服务来执行一些R脚本并返回JSON。
例如 :
当我转到此链接时http://myserver:1234/script/param1=xxx
我想执行带有参数xxx
的R脚本,并以例如Hello World
的形式返回JSON
我找到了一些工具,例如OpenCPU或DeployR,但是由于DeployR需要Windows Server,并且没有详细记录OpenCPU,因此无法安装它们。
任何答案将不胜感激。
请不要告诉我它是重复的,因为在那找不到我的答案, DeployR对我不起作用。
您可以使用我们的5Analytics平台。 它允许您部署R或Python。 只需上传您的代码,它就会自动从中生成Web服务。
创建一个简单的R脚本(也可能很复杂)
# create simple R script
> echo "test_curl <- function() { 2 }" > test.R
通过webdav(或带有网络GUI)上传脚本
# upload file to server via webdav
> curl -u usr:pswd --digest -T test.R 'http://localhost:5050/up/dav/'
使用http查询Web服务
> curl "http://localhost:5050/if/json/R/v1/test_curl?_token=test_token"
{
"data": [1.0]
}
这里有更多文档: http : //doc.5analytics.com/
这里是首页的链接: https : //www.5analytics.com/cn/technology/
一种替代方法是使用AWS Lambda。
在这篇优秀的博客文章中,将介绍如何创建R微服务。
它是如何工作的:
您托管一个运行Python的AWS Lambda函数(= microservice),该函数在内部使用rpy2
运行您的R代码。
请注意,DeployR已过时。 替代品是R Server Operationalization ,它可以在Linux和Windows上使用。
Microsoft R Server的操作功能受以下支持:
- Windows Server 2012 R2,Windows Server 2016
- Ubuntu 14.04,Ubuntu 16.04,
- CentOS / RHEL 7.x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.