Python Lambda函数无法连接到红移:致命:没有主机的pg_hba.conf条目

Python 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:

我知道有几个问题与这些问题有关。我见过他们,但找不到正确的解决办法

我正在使用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:
      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协议。