1

我计划在 EC2 或 Lightsail 实例中运行一个时间刻度数据库。我希望能够从 Lambda 函数连接到此时间刻度数据库并在此数据库上运行查询,以将数据插入数据库并从数据库中读取数据。

我知道 timescaleDB 是一个 Postgres 插件,并且有很多在线文章记录了从 lambda 连接到在 AWS RDS 内运行的 Postgres DB 的过程,但我似乎找不到任何描述如何连接到运行在EC2 或 Lightsail 实例。

问题:如何从 lambda 函数连接到在 EC2 或 Lightsail 实例中运行的 timescaleDB?

4

1 回答 1

0

我想说答案与如何连接到 RDS 相同,如此处所述:

https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html

该答案还提供了一个很好的示例,如何连接到 PostgreSQL RDS,但rds_config您需要指定主机名/IP,以使其指向您的 EC2 实例,而不是使用 .

不同之处在于您需要指定主机名/IP 和其他连接详细信息以指向 EC2 实例。例如,如果您的 EC2 实例

import sys, logging, psycopg2

host = "ec2-3-14-229-184.us-east-2.compute.amazonaws.com"
name = "demo_user"
password = "p@assword"
db_name = "demo"

try:
    conn = psycopg2.connect(host=host,
                        database=db_name,
                        user=name,
                        password=password)
    cur = conn.cursor()

except:
    logger.error("ERROR: Unexpected error: Could not connect to Postgresql instance.")
    sys.exit()
于 2019-08-30T08:47:21.803 回答