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

jquery - 管道工 R + Jquery - API 响应 NULL

我试图使用 Plumber 创建一个 R-API,它接受两个参数并返回一个列表对象。GET 调用是使用 JQuery 客户端发生的,但是数据没有显示在网页上。使用 Postman 测试了相同的 API,该 API 的工作原理与 charm 类似。返回对象是 NULL 并且在 R ERROR: [on_request_read] connection reset by peer每次我单击网页上的按钮时也有错误消息。非常感谢任何解决此问题的帮助。

查询:

0 投票
1 回答
141 浏览

r - 使用 R 和 rjson 库获取 json 对象

我的目标是实现管道工 R HTTP 包的响应。

我的目标是得到:

0 投票
2 回答
2771 浏览

json - 使用 R 的 Plumber - 创建 GET 端点来托管 CSV 格式的数据而不是 JSON

我认为这是 R 的水管工库的一个很好的快速演示,但主要是我正在努力以 csv 格式提供数据

我正在使用 R 的水管工包来托管我的一些运动数据的 API 端点。目前,我有一些数据可以获取我正在尝试服务的 MLB 棒球队的获胜总数。使用管道工,我设置了以下 2 个脚本:

setupAPI.R:使用两个 GET 端点设置我的 API:

RunAPI.R:plumb 的 setupAPI.R,获取本地托管的端点

. . .

在我的控制台中运行 RunAPI.R 代码后,当我转到端点时,我的http://127.0.0.1:8000/shareprices_csv端点显然返回了一个 JSON 对象,而我的http://127.0.0.1 :8000/shareprices_json端点似乎奇怪地返回了一个长度为 1 的 JSON,其中一个字符串中的 JSON 作为返回的 JSON 中的唯一元素。

简而言之,我现在可以看到我应该简单地返回数据帧,而不是返回 JSON(数据帧),让端点托管 JSON 格式的数据,但是我仍然不知道如何以 CSV 格式提供这些数据。这在水管工中可能吗?setupAPI.R 中的函数中的 return 语句应该是什么样的?任何帮助表示赞赏!

0 投票
1 回答
633 浏览

r - 使用多个端口在单个 EC2 实例上托管多个 Plumber API?

遵循 R 非常好的 Plumber 文档,以及从这个有用的链接获得帮助,我能够使用 Plumber 库在 EC2 实例上设置单个 R API,并带有几个端点。

我在 EC2 实例的端口 8000 上有这个 API,为了确认,如果我检查我的 EC2 实例中的进程,我可以在端口 8000 上看到我的 R API:

我想在同一台 EC2 服务器上启动第二个 API,我的问题是,我可以使用 EC2 服务器上的其他端口来提供 API 吗?例如,在我的 R 文件中用于“探测”API 的新 API,我只需将端口更改为 8001:

此外,对于 EC2 实例,更改安全组以便可以访问端口 8001。

这样做(使用不同的端口)可以吗,还是我会通过尝试在不同的端口上托管多个 API 来搞乱 EC2 实例?在我弄乱我当前的 API 之前,我想知道这一点。

提前感谢您对此的任何帮助!

编辑 - 另外,如果可以使用端口 8001,这是否意味着我几乎可以使用任何端口来提供其他 API(8002、8003、8004 等)。有没有我不应该使用的端口?

0 投票
1 回答
1383 浏览

mongodb - 将 RShiny 应用程序重新编码为 React 应用程序 - 如何将我的数据获取到我的 React 应用程序

我正在学习我想要/正在尝试制作的与篮球相关的数据即网络应用程序的全栈开发。鉴于我拥有的技术技能,我有一个与解决我的数据问题的最佳方法有关的问题。

几个月前,我使用 R 创建了以下 R Shiny App。这个应用程序的堆栈/非常不完整的后端是:

  • 我使用 R Shiny 启动应用程序,托管在带有 Shiny Server 的 EC2 实例上
  • 在 R 中,我有一个名为 scraper.R 的脚本,它每天(每天一次)从MySportsFeed(一个很棒的体育 API)查询数据,并将新的每日数据更新为我拥有的 8 个 CSV 文件中的 1 个。(我的 Shiny 应用程序中的每个图表都有不同的 CSV 文件)
  • 然后,我的 R Shiny 应用程序将 CSV 读入 app.R 文件,该文件包含整个应用程序的所有代码。

为了扩展这个应用程序并让它变得更好,我一直在学习全栈 JavaScript 开发,并且我即将开始将这个 Shiny 应用程序编码为一个 React 应用程序。

我当前的挑战/考虑是我应该如何管理我的 React 应用程序中的数据。尤其是:

  1. 我的 scraper.R 文件使用dplyr和其他 R 库进行了大量的数据操作。从 MySportsFeed 的 API 提供的表单中获取数据,到我的 Shiny App 所需的表单,对于我所有的图形和图表,都是相当多的。

  2. 话虽如此,我想继续使用 R 来调用 MySportsFeed API 并格式化数据。我当然想取消 CSV 文件,但这并不容易。8 个 CSV 文件中的每一个都包含数百次调用 MySportsFeed API 的结果。(对 MySportsFeed 的每个 API 调用可能会给我 1 场 NBA 比赛数据,而 CSV 文件已经更新了 1000 场 NBA 比赛数据)。

  3. 我相信我想替换 (a) 从 CSV 文件读取数据到 R Shiny 应用程序中 (b) 使用托管的数据源调用我自己的 API 端点(我可以在 R 或 Javascript 中创建 API 端点,R 的管道工很适合这个)

  4. 我相信我想将 (a) 将数据存储在 CSV 文件中替换为 (b) 将数据存储在 mongo 数据库中,该数据库可以轻松插入 React 应用程序。

那么我的问题是:是否有一种直观的方法可以将以下内容连接在一起:

  • 我的 R 代码(它调用 MySportsFeed API,获取新数据,并将该数据处理成图表格式)
  • 一个 API(无论是 R 管道工 API 还是包含我所有数据的 javascript API)
  • mongo 数据库(保存我所有历史上报废的数据)。

提前致谢。

编辑 - 几个月前,我在一个RShiny应用程序上发了一个帖子,我想把它变成一个 React 应用程序。

0 投票
1 回答
509 浏览

authentication - 如何验证来自shinyapps.io 上托管的应用程序对管道工 API 的调用?

我想构建一个具有以下架构的应用程序:

在此处输入图像描述

前端将部署在 shinyapps.io 上,并将调用由管道工编写的 API以与数据交互。

该应用程序将是私有的,因此用户必须使用 shinyapps.io auth 模块进行身份验证。API 将托管在云平台上。

我想知道通过在所有 HTTP 请求的标头中添加密钥来验证对 API 的调用是否安全

密钥将在部署在 Shinyapps.io 和 API 服务器上的 .Renviron 文件中定义。

此管道工过滤器应确保在发送适当的响应之前,来自前端和来自 API 的密钥匹配。

0 投票
1 回答
385 浏览

r - 公共 R 管道工遥控器

根据文档https://www.rplumber.io/,它说如果我们使用plumber$run() 它只会在本地运行localhost:8000。我想在远程发布它。如何使用管道工包启动远程 API?

0 投票
1 回答
1781 浏览

r - 在 R 中使用 Plumber API 进行 Oauth

我使用plumber包创建了一个示例函数。

当我运行以下程序时。

API 暴露在我的本地主机上,我可以使用我的R server.

就像是

http://host:8000/tags?x= "这个设计看起来很糟糕,请修复它"

我的问题是,由于 API 是开放的,任何人都可以通过链接公开访问,我想使用 Oauth 保护它。我一直在做研究,但什么都没有。plumber如果有人可以在这方面指导我使用任何一个或任何其他可以保护我的包裹,我将不胜感激。API. 这可能吗?

0 投票
0 回答
241 浏览

python - R:为给定的 R 脚本创建一个 RESTful API,该脚本接受参数并通过 GET 调用返回计算值

我有一个 R 脚本,它接受参数并根据这个输入返回一个浮点值。我需要将其转换为 RESTful API,以便可以通过 URL GET 调用访问它。我研究过同样的问题,并遇到了一些非常有前途的替代品——Plumber、OpenCPU 和 Jug。但是,我需要一个强大且稳定的解决方案(我预计截至目前 10 分钟内将有近 15 万次呼叫 - 可能会接近实时,因此会比这更轻松一些)。请帮我回答以下问题:

  1. 如果流量大,如何制作不会在生产中崩溃的网络服务?
  2. 在不使它们紧密耦合的情况下,我还能如何从 JAVA Web 服务调用 Rscript 逻辑?(脚本只有 15 个 LOC)
  3. 在 R 与 Python 中制作 RESTful API 时是否存在性能差异?

请指导我以正确的方式帮助我理解这一点。

我对网络服务的概念很陌生,所以如果我问了愚蠢的问题,我提前道歉。

0 投票
1 回答
797 浏览

r - 通过 HTTPS 将 R 管道工用于 Web API

我正在尝试在 R 中使用 Plumber 通过 Web API 公开模型。我希望 API 调用通过 https 是安全的。我试图找到有关使用管道工实现安全 API 的信息,但不幸的是没有找到任何东西。有没有人有东的经验?或者任何其他通过安全 API 公开 R 模型的解决方案?