遵循 R 非常好的 Plumber 文档,以及从这个有用的链接获得帮助,我能够使用 Plumber 库在 EC2 实例上设置单个 R API,并带有几个端点。
我在 EC2 实例的端口 8000 上有这个 API,为了确认,如果我检查我的 EC2 实例中的进程,我可以在端口 8000 上看到我的 R API:
[ec2-user@ip-123-45-67-890 ~]$ lsof -i tcp:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
R 16784 ec2-user 11u IPv4 152626 0t0 TCP *:irdmi (LISTEN)
我想在同一台 EC2 服务器上启动第二个 API,我的问题是,我可以使用 EC2 服务器上的其他端口来提供 API 吗?例如,在我的 R 文件中用于“探测”API 的新 API,我只需将端口更改为 8001:
# clear workspace and load library
rm(list = ls())
library(plumber)
# serve API
r <- plumb("NBA_API.R")
r$run(host="0.0.0.0", port=8001)
此外,对于 EC2 实例,更改安全组以便可以访问端口 8001。
这样做(使用不同的端口)可以吗,还是我会通过尝试在不同的端口上托管多个 API 来搞乱 EC2 实例?在我弄乱我当前的 API 之前,我想知道这一点。
提前感谢您对此的任何帮助!
编辑 - 另外,如果可以使用端口 8001,这是否意味着我几乎可以使用任何端口来提供其他 API(8002、8003、8004 等)。有没有我不应该使用的端口?