我只想用Python连接存储在Redshift无服务器中的数据。
当我运行下面的代码时,我看到了一个错误。
import redshift_connector
conn = redshift_connector.connect(
host='Endpoint in the screenshot',
database='dev',
user='my aws account id',
password='my aws pw',
)因为它是无服务器的,所以‘屏幕截图中的端点’看起来像'111111111111.us-east-1.redshift-serverless.amazonaws.com‘(下图中的红色框)。

这个错误写着"redshift_connector.error.InterfaceError:(‘通信错误’,TimeoutError(60,操作超时)“)。当我搜索它时,有人提到了安全组中的‘编辑入站规则’。因此,我在那里添加了一个规则和TCP协议。还有一些人提到“将集群公之于众”。我不确定是否可以将此设置为。我找不到网页。另外,一些使用Redshift的指令需要“cluster_id”作为参数,我找不到这方面的信息。
我还能做什么呢?
仅供参考。我对AWS不熟悉。我安装了AWS CLI,我可以通过运行"aws redshift-data execute-语句.“来使用CLI获取数据。因此,我认为也可以使用Python库获取数据。对吗?
发布于 2022-05-29 12:09:01
您可以使您的无服务器集群公开访问:https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-connecting.html
当您创建工作组以使其可公开访问时,会有一个设置,这意味着它将能够从internet上被查询。
否则,您必须从集群所在的同一个VPC中的lambda函数或EC2实例中查询它,这是一个更好的安全设置,因为所有流量都保留在VPC中。
https://stackoverflow.com/questions/71521678
复制相似问题