如果在AWS Lambda中找不到RDS MySQL数据库,请确保已经正确配置了以下步骤:
以下是一个示例代码,展示如何将Lambda函数与RDS数据库连接在同一个VPC中:
import pymysql
import os
def lambda_handler(event, context):
# 获取RDS数据库配置信息
rds_host = os.environ['RDS_HOST']
rds_username = os.environ['RDS_USERNAME']
rds_password = os.environ['RDS_PASSWORD']
rds_db_name = os.environ['RDS_DB_NAME']
# 连接到RDS数据库
conn = pymysql.connect(
host=rds_host,
user=rds_username,
password=rds_password,
db=rds_db_name,
connect_timeout=5
)
# 执行SQL查询等操作
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM my_table")
result = cursor.fetchall()
print(result)
# 关闭数据库连接
conn.close()
return {
'statusCode': 200,
'body': 'Successfully connected to RDS MySQL database'
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds-db:connect"
],
"Resource": [
"arn:aws:rds-db:region:account-id:dbuser:db-instance-id/db-username"
]
}
]
}
确保将region
替换为您的AWS区域,account-id
替换为您的AWS账号ID,db-instance-id
替换为RDS实例ID,db-username
替换为RDS数据库用户名。
如果您仍然遇到问题,请检查Lambda函数日志和RDS数据库日志,以获取更详细的错误信息,以便进一步调试和解决问题。