[问题] 利用opencpu API传递档案与参数给Rpackage

楼主: cywhale (cywhale)   2016-12-06 23:20:17
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
我写了一个工作上用的小package,利用opencpu可以实现API传递参数叫用函数运算
(opencpu 可参考作者github: https://github.com/jeroenooms/opencpu
Send requests through curl 大致像
curl http://myHost/ocpu/library/myPackage/R/myFunc/json -H "Content-Type:
application/json" -d '{"argument1":"...","argument3":"...",..}' -o output.json
原本若要传递像vector这种data,就以json format一样放在argument传就好了,
但如果我允许user 把data 放在 file.csv中,我发现我没办法在同一个request中放进
curl -F [email protected]/*
作者: Wush978 (拒看低质媒体)   2016-12-06 23:31:00
不知道能不能同时用HTTP Post + Get...
楼主: cywhale (cywhale)   2016-12-06 23:54:00
curl -d,-F应都是POST?https://www.opencpu.org/api.html
作者: obarisk (OSWALT)   2016-12-07 00:11:00
看你的web server吐给你什么fileopencpu有绑apache?
楼主: cywhale (cywhale)   2016-12-07 00:22:00
有跑apache, 如只传 curl -F "[email protected]"先不管-d可以看到回传/ocpu/tmp/x04b063e194/files/tmp.txt但这种temporary dir每次路径名都换?我在程式中要怎么抓另外就是没有-d arguemnts..我也没法继续处理这个file..
作者: obarisk (OSWALT)   2016-12-07 06:50:00
http://superuser.com/questions/442969/curl-file-with-post-parameter暂存盘都是生成的,要看opencpu怎么接apachehttps://www.opencpu.org/api.html手册看起来是接一个named file所以你post要送file=upload_fileopencpu会帮你把http request处理掉
楼主: cywhale (cywhale)   2016-12-07 10:26:00
感谢提示,还在try看起来档案有传但其他参数没有真的传进如o大连结用-F "[email protected]" -F "argument1=..;.."前面的file会被opencpu处理,但后面的参数没有进到程式中
作者: Wush978 (拒看低质媒体)   2016-12-07 10:48:00
GET的意思是在网址后面加上?arg1=value1&arg2=value2这样POST的部分放档案,GET的部分放参数只是我不清楚OpenCPU能不能处理这样的request,可以的话就能是一种workaround
楼主: cywhale (cywhale)   2016-12-07 11:42:00
谢谢Wush大我原先误解意思,但我这样写opencpu会导到别处不过我刚试出来了 -F 要一个个写,不可以用;隔开参数!!感谢诸位回应帮忙的大大们! R里头还是写 fread(file)即可然后 curl -F "[email protected]" -F "arg1=.." -F "arg2=.."然后curl url写../R/myFunc/json 就可以导出output jsonIt save my day!! Really thanks~~ ^^
作者: obarisk (OSWALT)   2016-12-07 19:32:00
分享一下架opencpu的心得啊,我也想直接用r串api
楼主: cywhale (cywhale)   2016-12-07 19:45:00
可以,我再找时间写,其实很好用 opencpu实在很赞~~
作者: celestialgod (天)   2016-12-07 19:48:00
可以看看我的部落格XD:https://goo.gl/zY0As6至于安装opencpu,按照官网装一下就好了sudo yum install opencpu上面是Fedora一键就可以安装我在centos上装,就参考这篇https://goo.gl/on1jmT
楼主: cywhale (cywhale)   2016-12-07 20:28:00
太好了,装在ubuntu很简单,但centos6.5我装不起来,再来照你的步骤试看看,谢谢分享~~资讯很丰富哩,看来可以偷学,也可以偷懒不用写了XD
继续阅读

Links booklink

Contact Us: admin [ a t ] ucptt.com