使用这篇文章,我将pgAdmin连接到Google。使用“守则”
library(DBI)
library(dplyr)
library(RPostgres)
con <- dbConnect(
RPostgres::Postgres(),
host = "3x.xx.xx.xx9",
port = 5xx2,
dbname = "dbname",
user = "postgres",
password = "xxxxxxxxxxxxxxxxx"
)
我连接到数据库,因为它在pgAdmin中没有问题,然后在本地开发了一个闪亮的应用程序,在RStudio (runapp)上运行得很好。发布到shinyapps.io。我不相信host=localhost,所以我搞不懂为什么这个应用程序不从db连接/提取数据以实现数据可视化。
最初,上面的代码在标题(外部ui和闪亮应用程序的服务器)中,应用程序在显示仪表板之前会超时。我将这个代码段移到服务器逻辑中,仪表板将正确显示,但是依赖于SQL连接的绘图将不会显示,甚至不会显示错误,只是显示的地方为空白。
任何帮助都很感激。
我是个数学家,对计算机科学术语或任何网络知识都不熟悉.仅仅是对SQL和数据库连接的探索对我来说是一段漫长的时间.如果你可以的话,把它解释成我是个可怜的大学毕业生:)
pps -我很确定我不想打开我的电脑到互联网,或混乱的防火墙的东西。请指点。
发布于 2021-04-06 17:59:30
从您提供的文章中可以看到,您需要在本地与Cloud实例进行通信,即在Cloud中授权您的公共IP地址。
这是类似的,应该这样做,因为您必须允许和授权特定的shinyapps.io IP来与Cloud实例通信。
为了解释为什么,当您使用Cloud实例的公共IP地址连接时,客户端应用程序的IP地址或地址范围(在您的情况下是shinyapps.io)必须配置为授权网络。这是一种安全设计,因此未经授权的应用程序无法轻松访问数据库。
您需要允许的IP可以从RStudio的支持页中看到。我将在此列出:
54.204.34.9
54.204.36.75
54.204.37.78
34.203.76.245
3.217.214.132
34.197.152.155
总之,您所要做的就是按照相同的指令配置授权网络,在本例中,您必须添加来自shinyapp的多个IP。
https://stackoverflow.com/questions/66977573
复制相似问题