plumber, 将 R 代码转换为 Web API

分享于 

4分钟阅读

GitHub

  繁體 雙語
Turn your R code into a web API.
  • 源代码名称:plumber
  • 源代码网址:http://www.github.com/trestletech/plumber
  • plumber源代码文档
  • plumber源代码下载
  • Git URL:
    git://www.github.com/trestletech/plumber.git
    Git Clone代码到本地:
    git clone http://www.github.com/trestletech/plumber
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/trestletech/plumber
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    plumber

    Build StatusCRAN RStudio mirror downloadscodecov

    管道工允许你创建一个 Web API,只需用特殊的注释装饰你现有的R 源代码。 看一个例子。

    # plumber.R#* @get/meannormalMean<-function(samples=10){
     data<- rnorm(samples)
     mean(data)
    }#* @post/sumaddTwo<-function(a, b){
     as.numeric(a) + as.numeric(b)
    }

    这些注释允许管道工将你的R 函数作为API端点。 你可以使用 #* 作为前缀或者 #',但我们推荐前者,因为 #' 将与Roxygen冲突。

    > library(plumber)>r<- plumb("plumber.R") # Where 'plumber.R' is the location of the file shown 上面>r$run(port=8000)

    你可以使用浏览器或者终端访问这里URL来运行 R 函数并获得结果。 在这里,我们通过 mac/linux终端使用 curl

    
    $ curl"http://localhost:8000/mean"
    
    
     [-0.254]
    
    
    $ curl"http://localhost:8000/mean?samples=10000"
    
    
     [-0.0038]
    
    
    
    

    你可能已经猜到了,请求字符串参数的查询被作为参数( 作为字符串) 转发到 R 函数。

    
    $ curl --data"a=4&b=3""http://localhost:8000/sum"
    
    
     [7]
    
    
    
    

    你还可以将数据作为JSON发送:

    
    $ curl --data '{"a":4,"b":5}' http://localhost:8000/sum
    
    
     [9]
    
    
    
    

    安装

    你可以使用下面的命令从CRAN安装最新的稳定版本:

    install.packages("plumber")

    如果你想试用最新的开发版本,你可以从GitHub安装它。 最简单的方法是使用 devtools

    library(devtools)
    install_github("trestletech/plumber")
    library(plumber)

    主机

    如果你刚刚开始使用托管云服务器,则管道管理器中包含的DigitalOcean集成将是开始的最佳方式。 你将能够在两个 R 命令中使用一个服务器来承载你的定制 API。 完整的文档可以在 https://www.rplumber.io/docs/digitalocean/ 获得。

    还提供了一些其他的托管管道工方法:

    相关项目

    • OpenCPU - 一个服务器,用于托管 R api,并着眼于科学研究。
    • 这是一个类似于管道工的R 包,但是使用了一种更编程的方法来构建 API。

    来源

    管道工最初是作为 rapier 包发布的,后来被重命名为 (7/13/2015).


    WEB  API  cod  turn  Web Api  
    相关文章