从 Lambda 函数连接到 EC2 或 Lightsail 实例中的 timescsleDB 运行 并执行查询
Connecting to and executing queries on a timescsleDB running in an EC2 or Lightsail instance from a Lambda function
我计划在 EC2 或 Lightsail 实例中建立一个时间刻度数据库 运行ning。我希望能够从 Lambda 函数连接到此时间刻度数据库并对其进行 运行 查询,以将数据插入数据库并从数据库读取数据。
我知道 timescaleDB 是一个 Postgres 插件,网上有很多文章记录了从 lambda 运行在 AWS RDS 内部连接到 Postgres DB 的过程,但我似乎找不到任何描述我将如何连接到 EC2 或 Lightsail 实例中的一个 运行ning 的内容。
问题:如何从 lambda 函数连接到 EC2 或 Lightsail 实例中的 timescaleDB 运行ning?
我会说答案与如何连接到 RDS 的答案相同,如此处记录:
https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html
还提供了一个很好的示例如何连接到 PostgreSQL RDS,但是您需要以这种方式指定 hostname/ip 而不是使用 rds_config
他们指向您的 EC2 实例。
不同之处在于您需要指定 hostname/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()
我计划在 EC2 或 Lightsail 实例中建立一个时间刻度数据库 运行ning。我希望能够从 Lambda 函数连接到此时间刻度数据库并对其进行 运行 查询,以将数据插入数据库并从数据库读取数据。
我知道 timescaleDB 是一个 Postgres 插件,网上有很多文章记录了从 lambda 运行在 AWS RDS 内部连接到 Postgres DB 的过程,但我似乎找不到任何描述我将如何连接到 EC2 或 Lightsail 实例中的一个 运行ning 的内容。
问题:如何从 lambda 函数连接到 EC2 或 Lightsail 实例中的 timescaleDB 运行ning?
我会说答案与如何连接到 RDS 的答案相同,如此处记录:
https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html
rds_config
他们指向您的 EC2 实例。
不同之处在于您需要指定 hostname/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()