[問題] 利用opencpu API傳遞檔案與參數給Rpackage
[問題類型]:
程式諮詢(我想用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 file@filename -H .. -d '{"argument1":...}'.. (不能同時-F, ... -d
所以問題1 是,我該如何同時pass file and other arguments 在curl中?
另外在server端,我叫用自己寫的package,也要相對應來做處理傳遞過來的檔案,
但我不太確定該怎麼寫這段,怎麼樣讀取一個由curl 傳過來的檔案?
找不太到網路上有類似這樣實作的例子,懷疑自己是不是根本想錯方向~
目前覺得可能是這樣做? (如底下##
#======== in my Package in server, called by users through Opencpu
myFunc <- function (file, data=c(), argument2, argument3,...) {
if (length(data)>0) { ##照舊方式 data放在argument傳遞,這部分沒問題
DT <- data.table(matrix(data, ncol=2,byrow=byrow))
} else {
#### data如果放在file,所以問題2是: Where (and How) I can fetch the file
#### I received if curl successfully send a file? like the following code?
#filedt <- httr::POST(
# url = "http://myHost/ocpu/library/myPackage/R/myFunc",
# body = upload_file(
# path = path.expand(file),
# type = 'text/csv'),
# verbose()
#)
#DT <- fread(##filedt)
}
## then handle DT with other arguments ###
...
return(output)
}
想請問有沒有類似經驗可以建議我怎麼處理這樣的request
或者別種實現方法、範例皆可~~ 謝謝
[軟體熟悉度]:
請把以下不需要的部份刪除
使用者(已經有用R 做過不少作品)
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.5 LTS
locale:
[1] LC_CTYPE=en_PH.UTF-8 LC_NUMERIC=C
[3] LC_TIME=zh_TW.UTF-8 LC_COLLATE=en_PH.UTF-8
[5] LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=en_PH.UTF-8
[7] LC_PAPER=zh_TW.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
[關鍵字]:
API, opencpu, curl
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.70.235
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1481037620.A.1D5.html
推
12/06 23:31, , 1F
12/06 23:31, 1F
→
12/06 23:54, , 2F
12/06 23:54, 2F
推
12/07 00:11, , 3F
12/07 00:11, 3F
→
12/07 00:12, , 4F
12/07 00:12, 4F
→
12/07 00:22, , 5F
12/07 00:22, 5F
→
12/07 00:23, , 6F
12/07 00:23, 6F
→
12/07 00:25, , 7F
12/07 00:25, 7F
→
12/07 00:26, , 8F
12/07 00:26, 8F
推
12/07 06:50, , 9F
12/07 06:50, 9F
→
12/07 06:50, , 10F
12/07 06:50, 10F
→
12/07 06:51, , 11F
12/07 06:51, 11F
推
12/07 07:01, , 12F
12/07 07:01, 12F
→
12/07 07:01, , 13F
12/07 07:01, 13F
→
12/07 07:02, , 14F
12/07 07:02, 14F
→
12/07 07:02, , 15F
12/07 07:02, 15F
→
12/07 10:26, , 16F
12/07 10:26, 16F
→
12/07 10:35, , 17F
12/07 10:35, 17F
→
12/07 10:37, , 18F
12/07 10:37, 18F
→
12/07 10:48, , 19F
12/07 10:48, 19F
→
12/07 10:48, , 20F
12/07 10:48, 20F
→
12/07 10:48, , 21F
12/07 10:48, 21F
→
12/07 10:48, , 22F
12/07 10:48, 22F
→
12/07 11:42, , 23F
12/07 11:42, 23F
→
12/07 11:42, , 24F
12/07 11:42, 24F
→
12/07 11:43, , 25F
12/07 11:43, 25F
→
12/07 11:44, , 26F
12/07 11:44, 26F
→
12/07 11:48, , 27F
12/07 11:48, 27F
→
12/07 11:49, , 28F
12/07 11:49, 28F
推
12/07 19:32, , 29F
12/07 19:32, 29F
→
12/07 19:45, , 30F
12/07 19:45, 30F
→
12/07 19:48, , 31F
12/07 19:48, 31F
→
12/07 19:49, , 32F
12/07 19:49, 32F
→
12/07 19:49, , 33F
12/07 19:49, 33F
→
12/07 19:50, , 34F
12/07 19:50, 34F
→
12/07 19:51, , 35F
12/07 19:51, 35F
→
12/07 20:28, , 36F
12/07 20:28, 36F
→
12/07 20:28, , 37F
12/07 20:28, 37F
→
12/07 20:30, , 38F
12/07 20:30, 38F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章