Aws lambda Lambda-存储/传递红移连接

Aws lambda Lambda-存储/传递红移连接,aws-lambda,amazon-redshift,Aws Lambda,Amazon Redshift,我将并行部署近300-400 Lambda,以实现我的期望之一。 这些是需要执行的非常小的计算,需要从红移中读取计算数据。 我无法解决的唯一挑战是如何将红移连接传递给每个Lambda,因为我不会通过红移为每个Lambda创建单独的连接,因为这将导致我的集群连接中断。 我将使用pycopg2库来连接我的红移集群 问题是: 是否可以在所有Lambda函数之间传递红移连接 是否可以将连接详细信息存储在中心位置,我的Lambda函数可以从该位置读取连接详细信息,然后对Redshift进行查询 连接是来

我将并行部署近300-400 Lambda,以实现我的期望之一。 这些是需要执行的非常小的计算,需要从红移中读取计算数据。 我无法解决的唯一挑战是如何将红移连接传递给每个Lambda,因为我不会通过红移为每个Lambda创建单独的连接,因为这将导致我的集群连接中断。 我将使用
pycopg2
库来连接我的红移集群

问题是:

  • 是否可以在所有Lambda函数之间传递红移连接
  • 是否可以将连接详细信息存储在中心位置,我的Lambda函数可以从该位置读取连接详细信息,然后对Redshift进行查询

连接是来自特定客户端的会话,并且每个Lambda函数都是单独的客户端,因此不能使用相同的连接。如果并行运行300-400个lambda,您可能需要重新考虑这样做


至于存储连接详细信息,您有SSM参数存储,您可以在其中存储整个连接字符串或单个片段。

连接是来自特定客户端的会话,并且每个Lambda函数都是单独的客户端,因此您不能使用同一个连接。如果并行运行300-400个lambda,您可能需要重新考虑这样做


至于存储连接详细信息,您有SSM参数存储,您可以在其中存储整个连接字符串或单个片段。

我们使用
secretsmanager
存储连接信息

下面是我们使用的示例python代码,只需替换为您的秘密即可

#获取连接信息
scm=boto3.client(“secretsmanager”)
r=scm.get\u secret\u值(
分泌型=,
)
cred=r['SecretString']
cred=json.loads(cred)
#连接到数据库
conn=psycopg2.connect(
host=cred['host'],
port=cred['port'],
dbname=cred['dbname'],
user=cred['username'],
password=cred['password'],
)

我们使用
secretsmanager
存储连接信息

下面是我们使用的示例python代码,只需替换为您的秘密即可

#获取连接信息
scm=boto3.client(“secretsmanager”)
r=scm.get\u secret\u值(
分泌型=,
)
cred=r['SecretString']
cred=json.loads(cred)
#连接到数据库
conn=psycopg2.connect(
host=cred['host'],
port=cred['port'],
dbname=cred['dbname'],
user=cred['username'],
password=cred['password'],
)

我要存储整个连接对象,连接详细信息不是问题。我要存储整个连接对象,连接详细信息不是问题。