我正在尝试提供一个 R 函数作为我使用https://blogs.msdn.microsoft.com/mlserver/2018/07/26/dockerizing-r-and-python-web-services/的Web 服务一个参考。
我相应地更改了我的函数,以便它应该接受一个数据框。我想通过 curl 使用 Web 服务。如何通过 curl 将数据框传递给 publishService 函数?
我尝试将数据帧作为 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