Python Lambda函数无法连接到红移:致命:没有主机的pg_hba.conf条目
我知道有几个问题与这些问题有关。我见过他们,但找不到正确的解决办法 我正在使用AWS Secret Manager存储凭据,现在正尝试使用AWS Lambda函数与AWS Redshift连接 这是我的lambda.pyPython Lambda函数无法连接到红移:致命:没有主机的pg_hba.conf条目,python,ssl,aws-lambda,amazon-redshift,psycopg2,Python,Ssl,Aws Lambda,Amazon Redshift,Psycopg2,我知道有几个问题与这些问题有关。我见过他们,但找不到正确的解决办法 我正在使用AWS Secret Manager存储凭据,现在正尝试使用AWS Lambda函数与AWS Redshift连接 这是我的lambda.py import json import boto3 import base64 import psycopg2 from botocore.exceptions import ClientError def get_secret(secret_name): try:
import json
import boto3
import base64
import psycopg2
from botocore.exceptions import ClientError
def get_secret(secret_name):
try:
session = boto3.session.Session()
client = session.client(service_name='secretsmanager', region_name='xx')
get_secret_value_response = client.get_secret_value( SecretId=secret_name )
secret = get_secret_value_response['SecretString']
secret = json.loads(secret)
return secret
def lambda_handler(event, context):
s = get_secret('secretname')
conn = psycopg2.connect(database = s['xx'],
user = s['username'],
password = secret['password'],
host = secret['host'],
port = secret['port']
)
print('connected')
cur = conn.cursor()
cur.execute("""Select * from table1;""")
rows = cur.fetchall()
for row in rows:
print(row[0])
错误:致命:没有主机的pg_hba.conf条目“::ffff:xx.xxx.xxx.xxx”,用户“xxxx”,数据库“xxx”,SSL关闭
我正在使用psycopg2
我尝试过插入“sslmode='require'”,但不起作用
任何帮助都将不胜感激数据库防火墙被阻止,但不确定为什么您可以验证您的lambda是否在VPC中,sg是否具有正确的路由访问权限这与我的psycopg2有关?端口应为5439,该端口是否接受?请仔细检查用户名和密码,可能是错误的凭据,尝试在控制台中打印作为测试。正如@Prashanna提到的,检查安全规则(入站和出站)是否允许端口5439用于TCP协议。