问题标签 [plumber]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1190 浏览

r - 通过管道工提供任意图像文件

如果我有保存的图像文件,我如何通过管道工为它们提供服务?

例如,这可以正常工作

并运行

如果你去http://localhost:8000/test1,你会看到正在服务的情节。

但我找不到提供图像文件的方法

代替code that'll help me serve the file上面,我按照这里include_file的建议进行了尝试,但失败了。

由于这code that modifies that file a little that doesn't matter here部分使用的是魔法包,我也尝试过使用魔法服务对象,print但也没有成功。

例如

结果是{"error":["500 - Internal server error"],"message":["Error in file(data$file, \"rb\"): cannot open the connection\n"]}

0 投票
0 回答
444 浏览

docker - 使用 Let's Encrypt 和 Docker 加密 R Plumber API

我正在尝试在运行 ubuntu 的 AWS EC2 上托管 API,并且通信需要通过 HTTPS

我正在 R 中构建代码并使用 Plumber 创建 API 并构建 docker 映像

  1. 首先我构建图像:

    docker build github.com/eaoestergaard/UNPIE -t eaoestergaard/unpie

  2. 然后在 8001 端口运行镜像

    docker run -d -p 8001:8000 --name unpie1 eaoestergaard/unpie

  3. 然后我按照这个(很棒的)指南使用 Let's Encrypt 和 Certbot 设置 nginx,但用我的 API 替换生产站点

我的 docker-compose.yml 看起来像这样

还有我的 Nginx 配置文件 production.conf

两者都是在水管工文档第 7.4.2 节的启发下创建的

  1. 然后启动 docker 容器

cd /docker/letsencrypt-docker-nginx/src/production

sudo docker-compose up -d

我可以通过 http 连接到 API(例如http://example.com:7001/fv.annuity),但不幸的是不在 https - 我怀疑我的配置文件不完整,但由于我是新手,所以不是让我清楚我错过了什么。

0 投票
1 回答
389 浏览

r - 管道工创建的 rsconnect 发布 API

plumber在一个名为lltoClass.R如下的文件中创建了一个 API:

另外,根据这个问题,我制作了一个名为的文件plumber.R,其中包含:

根据这个我执行 rsconnect::deployAPI(api = "./project")并成功部署到我的shinyapps.io帐户。但不幸的是,只能在完成部署过程后自动打开的我的 api 的 url 上获取此文本:

“发生错误,无法启动工作人员:无法在此 RStudio Connect 安装上运行 API 内容。请联系您的管理员。”

因为我已经在 localhost 上测试了我的 api,所以我不认为它的问题是由于我的代码造成的。我该如何解决这个问题,或者如何上传我的 API 并公开使用它?

0 投票
0 回答
422 浏览

r - 从 Shinyproxy 内的 docker 容器连接到 Api

我部署了一个管道工 API,可以通过以下方式访问:

curl -X GET " http://vps546862.ovh.net:8000/dep?q=Ain " -H "accept: application/json"

它在我的计算机上运行良好,甚至在没有闪亮代理的服务器上的最小容器(ubuntu + curl)内也能正常工作。

但是在带有 shinyproxy 的服务器上,这不再起作用了。相反,我收到错误消息:

curl: (7) 无法连接到 vps546862.ovh.net 端口 8000: No route to host

它在由 shinyproxy 启动的容器和手动启动的容器内不起作用。

我在 docker 上做的唯一配置是这个:

ExecStart=/usr/bin/dockerd -H fd:// -D -H tcp://127.0.0.1:2375

除了这个问题,一切正常……</p>

使用 shinyproxy 从同一服务器上的高山容器输出:

0 投票
1 回答
48 浏览

r - 是否可以在另一个文件(或包?)中定义一个探测函数?

当在另一个文件中定义该函数时,我在获取获取探测函数的语法时遇到了一些麻烦。

我想把一个标准的铅垂函数放在一个包里。我的第一次尝试是这样的:

然后尝试在 API 文件中调用该函数:

...但是当我尝试这样做时,我得到了一个client is not defined错误。有没有办法做到这一点?我猜注释冲突或其他什么 - 还是我只需要在 api.R 文件中定义一次函数?

如果直接调用,相同的函数会起作用:

(也在包GitHub 上问过)

0 投票
1 回答
750 浏览

shiny-server - 在闪亮服务器上托管多个管道工 API

我的服务器上安装了闪亮的服务器,我想从中运行多个管道工 API。我也有 R Studio 服务器,但有了它我只能同时运行 1 个。

你知道这样做的方法吗?

0 投票
1 回答
195 浏览

r - map_df 函数可以工作,但是当在 Plumber api 中它失败了

我正在通过管道工包 api 为 R 进行部署,代码本身在本地运行时完美无缺,但是当它在管道工的环境中时,它会给出以下错误<simpleError in do.call(private$func, args, envir = private$envir): 'what' must be a function or character string>

有一个例子:

现在,当我把它放在一个管道工函数中时,加载它之前的所有数据,这样做:

这是运行plumber.R(上一个函数)文件的函数(不同的文件)

要连接到 api:localhost:2424/candidato_mencoes

到目前为止,我已经读到这可能是一个变量是函数名的冲突,但我无法追踪它。该问题仅在管道工中运行时才会出现,所以我不确定它是否可能是一个错误。

0 投票
1 回答
797 浏览

r - 托管在 EC2 实例上的 R 管道工 API 的连接问题

我创建了一个托管在 AWS EC2 实例上的 R 管道工 API,但是我公司的 Web 开发人员尝试在我的 API 上执行 GET 请求时收到连接错误。我不确定为什么。以下是他们从开发服务器上运行的内容,以尝试获取托管在我的 API 端点上的数据:

这就是他们收到的...

. .

如果我只是在本地浏览器或任何浏览器中访问端点,那么它可以工作并显示数据,但由于某种原因,它没有使用 curl 程序进行连接。补充一点,这些相同的 URL 端点正在公司的生产服务器上运行,而不是在他们的开发服务器上运行 - 所以我不确定我的 EC2 实例是否根本不允许访问开发服务器 IP。

如何解决

在 EC2 实例中,我尝试制定自定义 TCP 规则以允许来自任何地方的入站连接。我的实例具有以下入站和出站安全规则:

在此处输入图像描述

在此处输入图像描述

尽管如此,我公司的 Web 开发人员仍然无法连接以从我的端点http://12.345.678.90:8003/path-to-endpoint获取 API 。有什么我没有做的事情允许他们访问 API 吗?

任何解决此问题的帮助将不胜感激!

Edit1:我正在与之合作的开发人员的评论-“如果我使用本地浏览器中的 http URL,那么它可以工作并显示 CSV,但由于某种原因,它没有使用 curl 程序显示。我们在其中添加了 12.345.678.90 IP我们的防火墙也是如此,但仍然没有运气。”

Edit2:这与主题有关,但与问题没有直接关系-我如何允许公共访问/通过 https(而不是 http)对我的端点进行任何访问。即使在我自己的本地浏览器中,我也无法通过 https URL 访问端点?

一如既往的感谢!

0 投票
0 回答
109 浏览

.net - 如何将由 R 制作的 Rest API 绑定到 dotnet 应用程序?

我已经从 R 中创建了一个带有管道工包的 Rest API,它对接收到的输入进行了预测,并且我们在 dotnet 中开发了用户界面(UI),请帮助我了解整合两者的可能方法

0 投票
1 回答
995 浏览

r - R管道工API和通过Windows中的Curl发送数据

我需要在 Windows 中使用 Curl 将 CSV 文件发送到使用plumberAPI 的 R 程序。我在 Windows 中安装了 Curl。

我尝试了以下方法,但它不起作用。我是 R 和 API 的新手,抱歉。

Windows 上的 Curl 命令:

给出错误:

我的 Rplumber代码是: