问题标签 [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.
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"]}
docker - 使用 Let's Encrypt 和 Docker 加密 R Plumber API
我正在尝试在运行 ubuntu 的 AWS EC2 上托管 API,并且通信需要通过 HTTPS
我正在 R 中构建代码并使用 Plumber 创建 API 并构建 docker 映像
首先我构建图像:
docker build github.com/eaoestergaard/UNPIE -t eaoestergaard/unpie
然后在 8001 端口运行镜像
docker run -d -p 8001:8000 --name unpie1 eaoestergaard/unpie
然后我按照这个(很棒的)指南使用 Let's Encrypt 和 Certbot 设置 nginx,但用我的 API 替换生产站点
我的 docker-compose.yml 看起来像这样
还有我的 Nginx 配置文件 production.conf
两者都是在水管工文档第 7.4.2 节的启发下创建的
- 然后启动 docker 容器
cd /docker/letsencrypt-docker-nginx/src/production
sudo docker-compose up -d
我可以通过 http 连接到 API(例如http://example.com:7001/fv.annuity),但不幸的是不在 https - 我怀疑我的配置文件不完整,但由于我是新手,所以不是让我清楚我错过了什么。
r - 管道工创建的 rsconnect 发布 API
我plumber
在一个名为lltoClass.R
如下的文件中创建了一个 API:
另外,根据这个问题,我制作了一个名为的文件plumber.R
,其中包含:
根据这个我执行
rsconnect::deployAPI(api = "./project")
并成功部署到我的shinyapps.io帐户。但不幸的是,只能在完成部署过程后自动打开的我的 api 的 url 上获取此文本:
“发生错误,无法启动工作人员:无法在此 RStudio Connect 安装上运行 API 内容。请联系您的管理员。”
因为我已经在 localhost 上测试了我的 api,所以我不认为它的问题是由于我的代码造成的。我该如何解决这个问题,或者如何上传我的 API 并公开使用它?
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 从同一服务器上的高山容器输出:
r - 是否可以在另一个文件(或包?)中定义一个探测函数?
当在另一个文件中定义该函数时,我在获取获取探测函数的语法时遇到了一些麻烦。
我想把一个标准的铅垂函数放在一个包里。我的第一次尝试是这样的:
然后尝试在 API 文件中调用该函数:
...但是当我尝试这样做时,我得到了一个client is not defined
错误。有没有办法做到这一点?我猜注释冲突或其他什么 - 还是我只需要在 api.R 文件中定义一次函数?
如果直接调用,相同的函数会起作用:
(也在包GitHub 上问过)
shiny-server - 在闪亮服务器上托管多个管道工 API
我的服务器上安装了闪亮的服务器,我想从中运行多个管道工 API。我也有 R Studio 服务器,但有了它我只能同时运行 1 个。
你知道这样做的方法吗?
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
到目前为止,我已经读到这可能是一个变量是函数名的冲突,但我无法追踪它。该问题仅在管道工中运行时才会出现,所以我不确定它是否可能是一个错误。
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 访问端点?
一如既往的感谢!
.net - 如何将由 R 制作的 Rest API 绑定到 dotnet 应用程序?
我已经从 R 中创建了一个带有管道工包的 Rest API,它对接收到的输入进行了预测,并且我们在 dotnet 中开发了用户界面(UI),请帮助我了解整合两者的可能方法
r - R管道工API和通过Windows中的Curl发送数据
我需要在 Windows 中使用 Curl 将 CSV 文件发送到使用plumber
API 的 R 程序。我在 Windows 中安装了 Curl。
我尝试了以下方法,但它不起作用。我是 R 和 API 的新手,抱歉。
Windows 上的 Curl 命令:
给出错误:
我的 Rplumber
代码是: