大家早上好,
我开始使用R进行开发,我需要创建一个Web服务来执行一些R脚本并返回一个JSON。
例如:
当我转到此链接时http://myserver:1234/script/param1=xxx
我想使用参数xxx
执行R脚本,并以Hello World
我找到了一些工具 OpenCPU 或 DeployR ,但我无法安装它们,因为DeployR需要Windows Server而OpenCPU并不是很好记录。
任何答案都将不胜感激。
请不要告诉我duplicated,因为我无法在那里找到答案,部署并不适合我。
答案 0 :(得分:2)
您可以使用我们的5Analytics平台。它允许您部署R或Python。只需上传您的代码,它就会自动生成Web服务。
创建一个简单的R脚本(也可能很复杂)
# upload file to server via webdav
> curl -u usr:pswd --digest -T test.R 'http://localhost:5050/up/dav/'
通过webdav(或使用web gui)上传脚本
> curl "http://localhost:5050/if/json/R/v1/test_curl?_token=test_token"
{
"data": [1.0]
}
使用http
查询Web服务["01017-00-0000",
"01025-00-0000",
"10000-01-1112",
"10000-01-1223",
"10000-01-1224",
"10000-01-1551",
"10000-01-1552",
"10000-02-2702",]
这里有更多文档: http://doc.5analytics.com/
这是指向主页的链接: https://www.5analytics.com/en/technology/
答案 1 :(得分:1)
替代方案可能是使用AWS Lambda。
在this优秀博文中,介绍了如何创建R微服务。
它是如何运作的:
您托管运行Python的AWS Lambda函数(= microservice),该函数在内部使用rpy2
来运行您的R代码。
答案 2 :(得分:1)
请注意,DeployR已过时。替换它是R Server Operationalization,它适用于both Linux and Windows.
支持Microsoft R Server的操作功能:
- Windows Server 2012 R2,Windows Server 2016
- Ubuntu 14.04,Ubuntu 16.04,
- CentOS / RHEL 7.x