一个典型的 chalice 应用程序定义了多个路由,但是如何正确地将其连接到 RDS 以便我可以保存 POST 数据或从数据库中检索数据?我已经通过 RDS 面板创建了一个数据库;我只是不确定如何从 Chalice 访问它。
是否只是让每条路由使用用户/通行证连接到给定的 RDS 主机?
例如,
from chalice import Chalice
import psycopg2
app = Chalice(app_name='test')
db_user = 'test'
db_pass = 'password'
db_host = 'https://.....'
db_port = 5432
@app.route('/save_data')
def save_data():
with psycopg2.connect(user=db_user, password=db_pass, ...) as conn:
with conn.cursor() as cur:
cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (1,2))
@app.route('/get_data')
def get_data():
with psycopg2.connect(user=db_user, password=db_pass, ...) as conn:
with conn.cursor() as cur:
cur.execute("SELECT * FROM test")
@app.route('/something')
def something():
with psycopg2.connect(user=db_user, password=db_pass, ...) as conn:
with conn.cursor() as cur:
cur.execute(....) # some other query
如果是这样,是否有一种更简单的方法来处理这个问题,而不必每次都指定数据库连接?这样做是否有奇怪的会话/竞争条件?
或者,如果我完全关闭,从 Chalice 路由连接到 RDS 的正确方法是什么?