问题标签 [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 回答
94 浏览

r - 省略号与管道工的用法

我正在尝试将省略号与管道工一起使用,因为输入 json 可能会有所不同

这会在下面引发错误:

如何解决此问题

0 投票
2 回答
1713 浏览

r - 使用 R 的 pool 包重新连接到 PostgreSQL 数据库

我有一个使用 R管道工构建的 API,它使用RPostgreSQL连接到 PostgreSQL 数据库(尽管如果我使用的是 Shiny 应用程序,这也适用):

我想每天导入新数据。最简单的方法是创建一个新数据库并将其推广到生产环境:

这是快速的,并且可以最大限度地减少停机时间。问题是pool然后失去与数据库的连接并且不会自动尝试重新连接:

即使我不是每天都更换数据库,数据库服务器偶尔也会重新启动,这也会导致我的应用程序崩溃。重新连接似乎不是池、RPostgreSQL 或 DBI 的功能。有谁知道解决这个问题的方法?

0 投票
0 回答
395 浏览

python - 无法连接管道工 - 获得网络错误 404 localhost:3582

我完全按照本教程进行操作,但遇到了连接错误:

https://www.knowru.com/blog/how-create-restful-api-for-machine-learning-credit-model-in-r/

我运行以下代码:

我去R中的终端并运行

我收到以下错误:

我已经在网上寻找解决方案,但似乎找不到解决方法。

我去http://localhost:3582/ 我看到了{"error":["404 - Resource Not Found"]}

当我设置时,swagger = TRUE我可以去127.0.0.1:3582/__swagger__/查看网页但无法输入数据等。

我还尝试使用 Python 进行连接:

我得到了以下错误:

我已经尝试了许多不同的组合127.0.0.1。替换为localhost,更改为不同的端口,将其直接设置为127.0.0.1:3582/__swagger__/predict等。所有返回错误。

0 投票
2 回答
2638 浏览

r - 使管道工 API 在互联网上可用

我对 R 中的水管工包相当陌生。我有一个可以在我的机器上本地运行的工作 API,我可以使用以下代码从 Web 上的实时 JS 应用程序访问它:

我已经读到在我的个人笔记本电脑上托管 r 代码不是一个好主意,但我只是希望能够运行上述代码,打开一个 R 服务器会话,然后通过互联网从不同的机器用于演示目的。

有没有办法根据运行 R 会话的机器的 IP 地址通过互联网访问这个 api?我无法找到r$run r$host r$serve可用功能的文档。

0 投票
1 回答
285 浏览

r - 无法在 Linux 上使用 R 管道工 API 下载 docx

我制作了一个管道工 API,如下所示:

在本地运行它在 Windows 上运行良好,生成一个 docx 文件供下载。如果您在 Linux 上本地运行它并使用 Firefox,它似乎也可以正常工作,尽管它似乎在尝试打开或下载 docx 文件时使 Firefox 崩溃。

但是在 Linux 上本地运行并通过 Chrome 下载会产生操作系统无法识别的二进制文件。如果您选择“使用...打开... Libre Office Writer”,文件可以正常打开,但我确实需要我的用户获取格式正确的文件,该文件将自动打开。

我无法弄清楚问题是浏览器还是操作系统。任何帮助表示赞赏。

所有代码都在这个存储库中,正如我所说的在 Windows 中一切正常,所以我实际上认为它对其他人来说是一个有用的参考,但现在我无法让它在 Linux 上工作——这里

0 投票
1 回答
863 浏览

r - 使用 Plumber API 的 R POST 响应在客户端将 10 位小数位双精度(所需精度)转换为 4 位小数位双精度

平台: - 具有 16 个内核和 128 GIG RAM 的 AWS 实例。- 红帽企业 7.5。- R. - RStudio 服务器。- Plumber API 将 R 函数公开为 Web 服务端点。- 客户端是 Excel VBA。

问题: - 具有不同类型列的数据表,包括双精度、整数和字符串数据。- 在 R 端点函数发送响应(表)之前,当我检查数据表中的双数据时,所有条目的长度都在 6 到 10 位小数之间。- 一旦表格以 JSON 格式到达客户端,99% 的双列将四舍五入到小数点后 4 位。

知道可能是什么问题 - 为什么双打会四舍五入,四舍五入发生在哪里,我该如何防止这种情况发生?- 我尝试了不同的请求标头设置,但它不起作用。- 我尝试将受影响的双列/s 作为向量/s 或列表/s 发送,但我得到相同的“强制”舍入。

提前致谢

0 投票
1 回答
814 浏览

plumber - Plumber API 在服务器上工作,但在我使用 systemd 设置时不工作

因此,如果我手动运行管道工命令,我有一个可以在本地和服务器上正常工作的 API,我的意思是在服务器中进行 ssh-ing 并运行:

它看起来像这样:

他们都可以正常工作。但是,当我使用 systemd 让它们在服务器上存活时,只有 /echo 可以工作。另一个只是说“发生了异常”。

systemd 设置如下所示:

我在任何地方都找不到错误日志,我很困惑为什么当我在服务器上运行命令时它应该工作,但在我使用 systemd 时却不能工作。

我正在使用 Ubuntu 16.04。

自从我昨晚发布了这篇文章以来,我已经将整个事情部署在一个完全独立的服务器上,该服务器也在运行 16.04,它在那里显示了完全相同的行为。

编辑:我也试过这个,基于返回pdf的管道工文档上的代码,并且还返回“发生异常”

0 投票
0 回答
1319 浏览

r - 通过 POST 请求使用管道工接收 csv

我希望将 csv 文件发送到数据库,因为有人使用他们的VBA代码发布文件(他们的 api 调用VBA有 80 个字符的限制,所以他们需要将 csv 上传到服务器供我解析和检查)

为此,我的目标是使用plumberPOST请求。我对如何构建 api 来做到这一点的知识有点有限。下面是一个粗略的例子,说明我如何看待它。这甚至可能与plumber吗?

启动服务:

0 投票
1 回答
628 浏览

r - 如何在不覆盖另一个函数指定的默认值的情况下将可选参数传递给管道工函数?

我是水管工包的新手,我试图弄清楚如何fun_2通过一个可以接受可选参数的 api 来提供一个函数。可选参数的默认值在fun_1R 包中的函数 中指定。我怎样才能做到这一点而不必覆盖中指定的默认值fun_1

我尝试了一种简单的方法,即仅列出两个函数调用中的参数,而fun_2. 但这会产生缺少参数的错误。

我还尝试在fun_2. 这有效,但并不理想。我不想覆盖指定的默认值fun_1,以防将来发生变化。我希望从 api 调用的函数始终具有与直接调用fun_1.

fun_1(在 R 包中)

天真的方法

这可行,但可能会覆盖 fun_1 默认值

0 投票
1 回答
6491 浏览

r - 为什么会出现词法错误:当通过 curl 发送 json_string 时,json 文本中的字符无效,但在 R 控制台中却没有?

我使用 Plumber ( https://github.com/trestletech/plumber ) 为 R 源代码创建了一个 Web API,其目的是将 json_string 作为输入处理,并将其转换为 R 数据帧。

代码:

从上面的代码可以看出,我使用的是库jsonlitefromJSON()方法。

然后我通过以下方式在本地公开服务:

我使用了 curl 请求:

发送一个 json_string ( {"a":"b"}) 但这是我得到的错误:

我使用 R 控制台仔细检查了输入的有效性,但没有收到相同的错误消息。

谁能向我解释为什么它可以在 R 控制台中工作,但不能作为 curl 请求的数据字段中的输入?非常感谢!