Как передать dataframe в качестве аргумента mrsdeploy :: publishService через curl POST? - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь предоставить функцию R в качестве веб-службы, для которой я использую https://blogs.msdn.microsoft.com/mlserver/2018/07/26/dockerizing-r-and-python-web-services/ в качестве ссылки.

Я изменил свою функцию соответствующим образом, чтобы она принимала кадр данных.Я хочу использовать веб-сервис через curl.Как передать фрейм данных в функцию publishService через curl?

Я попытался отправить фрейм данных в виде JSON, так что curl POST должен принять его как строку, но он не принимает.

library(mrsdeploy)
library(jsonlite)
manualTransmission <- function(hp, wt) { 
     hp <- jsonlite::fromJSON(hp)
     wt <- jsonlite::fromJSON(wt)
     c(hp[1,1],wt[1,1]) 
}
remoteLogin("http://localhost:12800", username = "admin", password = 
"Microsoft@2018", session = FALSE)
api <- publishService("ManualTransmissionService", code = 
manualTransmission, inputs = list(hp = "character", wt = "character"), 
outputs = list(answer = "vector"), v = "1.0.0") 

Команда:

curl --header "Content-Type: application/json" --header "Authorization: Bearer <accesstoken>" --request POST --data "{\"hp\": \"[{\"hp_col\": 5}]\",\"wt\": \"[{\"wt_col\": 5}]\"}" http://localhost:12800/api/ManualTransmissionService/1.0.0 
...