gpt4 book ai didi

使用 swagger 在 digital ocean 上部署 R 管道工 api

转载 作者:行者123 更新时间:2023-12-02 22:51:19 27 4
gpt4 key购买 nike

我正在使用管道工将 R api 部署到 digital ocean 。在这里很难提供一个可重现的示例,但我想要的是 swagger 端点能够编译并可用。它可以在本地运行,但不能在 digital ocean 服务器上运行。

在本地我这样做:

library(plumber)
r <- plumb("api/plumber.R")
r$run(port=8000)

现在 swagger 文档可在以下位置获取:http://127.0.0.1:8000/__swagger__/

当我按如下方式部署到服务器时:

library(analogsea)
library(plumber)
my_droplet <- as.droplet("my_droplet")

do_deploy_api(
droplet = my_droplet,
path = "my_path",
localPath = "my_local_path",
port = 8000
)

do_forward(my_droplet, "my_path")

现在我转到[my_remote_ip]/my_path/__swagger__/,我得到一个404

有人知道该怎么做吗?非常感谢。

最佳答案

通过对话,我找到了解决办法 here 。在 do_deploy_api()do_forward() 之后,我执行以下操作:

droplet_execute([my_droplet], {
system("sed -i 's/pr$run(port=8000)/pr$run(port=8000, swagger = TRUE)/g' /etc/systemd/system/plumber-[my_api].service", intern = TRUE)
system("systemctl daemon-reload", intern = TRUE)
system("service plumber-[my_api] restart", intern = TRUE)
})

关于使用 swagger 在 digital ocean 上部署 R 管道工 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47203758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com