Python 3.x 如何使用python连接到redshift jdbc url?
我的数据库url如下所示:Python 3.x 如何使用python连接到redshift jdbc url?,python-3.x,amazon-redshift,Python 3.x,Amazon Redshift,我的数据库url如下所示: jdbc:redshift://<database_name>.company.com:5439/<database_name>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory 如何使用python连接到此JDBCURL?JDBCURL到底是什么?我是否可以使用以下方式连接到此服务器: import psycopg2 con=psycopg2.connect(
jdbc:redshift://<database_name>.company.com:5439/<database_name>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
如何使用python连接到此JDBCURL?JDBCURL到底是什么?我是否可以使用以下方式连接到此服务器:
import psycopg2
con=psycopg2.connect(
dbname= 'jdbc:redshift://<database_name>.<company>.com:5439/<database_name>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory',
host='host',
port= '5439',
user= 'user',
password= 'pwd'
)
我正在使用一种更好的方式通过Python连接到Redshift。 请按照步骤操作- 为获取凭据创建IAM策略- 该保险单附于何处- a。在EC2或任何其他服务上运行Python代码->将IAM策略附加到角色,并将其附加到该特定服务或IAM角色 b。本地计算机->通过AWS configure CLI命令并通过提供访问密钥和机密访问密钥,连接到您在本地系统上配置的AWS用户 让我们使用Config.ini作为存储任何静态值的中心位置- 我的红移JDBC URL类似于-
jdbc:redshift://dev.<some_value_like_company>.us-west-2.redshift.amazonaws.com:5439/dev_database
[Redshift]
port = 5439
username = dev_user
database_name = dev_database
cluster_id = dev
url = dev.<some_value_like_company>.<region>.redshift.amazonaws.com
region = us-west-2
必要时导入并调用该函数。
我更喜欢上面的方法,而不是对任何用户的用户名和密码值进行硬编码,因为-
这根本不是一个好的做法
此外,如果您使用公共Repo github,那么它会使用户名和密码公开,如果有人出于错误的原因使用它,这可能是一场噩梦
使用IAM是免费且安全的:p
请让我知道这是否有帮助,如果你仍然需要以你想要的方式连接到Redshift,我会在自己尝试后发布答案
Get_凭据的IAM策略示例-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"redshift:GetClusterCredentials",
"redshift:CreateClusterUser",
"redshift:JoinGroup"
],
"Resource": [
"arn:aws:redshift:us-west-2:<account_number>:dbname:dev/dev_database",
"arn:aws:redshift:us-west-2:<account_number>:dbuser:dev/dev",
"arn:aws:redshift:us-west-2:<account_number>:dbuser:dev/dev_read"
]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"redshift:GetClusterCredentials",
"redshift:CreateClusterUser",
"redshift:JoinGroup"
],
"Resource": [
"arn:aws:redshift:us-west-2:<account_number>:dbname:dev/dev_database",
"arn:aws:redshift:us-west-2:<account_number>:dbuser:dev/dev",
"arn:aws:redshift:us-west-2:<account_number>:dbuser:dev/dev_read"
]
}
]
}