要将AWS Lambda连接到公共可访问的AWS RDS,您可以按照以下步骤进行操作:
创建一个AWS Lambda函数,并确保它在一个具有访问AWS RDS的VPC中运行。您可以在创建Lambda函数时选择一个与RDS相同的VPC。请确保函数的执行角色具有适当的权限来访问RDS。
在RDS中创建一个公共可访问的数据库实例。确保在创建实例时选择公共可访问性。
在Lambda函数中使用适当的代码来连接到RDS实例。以下是一个示例代码:
import os
import pymysql
def lambda_handler(event, context):
# 获取RDS连接参数
rds_host = os.environ['RDS_HOST']
username = os.environ['RDS_USERNAME']
password = os.environ['RDS_PASSWORD']
db_name = os.environ['RDS_DB_NAME']
# 连接到RDS
conn = pymysql.connect(
host=rds_host,
user=username,
password=password,
database=db_name
)
# 执行SQL查询
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM your_table")
result = cursor.fetchall()
for row in result:
print(row)
# 关闭RDS连接
conn.close()
在上面的代码中,我们使用pymysql
库来连接到RDS实例。您需要使用适当的连接参数(RDS主机名、用户名、密码和数据库名称)来替换os.environ
中的占位符。您可以将这些参数配置为Lambda函数的环境变量,以便在运行时从函数中获取。
请注意,连接到公共可访问的RDS实例可能会带来安全风险。建议使用VPC和安全组来限制对RDS的访问,并考虑使用私有子网和NAT网关等更安全的选项。