使用 SQLalchemy 与 Python 的 RDS 连接

RDS Connection to Python Using SQLalchemy

首先我想说我是一名学生和菜鸟。我一直在努力从我们的 AWS RDS 数据库创建连接。它是我们 ML 模型在 Jupyter Notebook 中的宿主。正在尝试使用 SQLalchemy 作为连接器。

尽可能尝试使用变量来创建连接,并使用 getpass 确保安全。

我已经为项目导入了以下依赖项:

import pandas as pd
import sqlalchemy
from sqlalchemy.ext.automap import automap_base`
from sqlalchemy.orm import Session`
from sqlalchemy import create_engine`
from sqlalchemy.exc import SQLAlchemyError`
from getpass import getpass`
from sklearn.preprocessing import OneHotEncoder, LabelEncoder

这是我的连接代码:

secret = getpass('Enter the secret value: ')

engine = create_engine(
    host="anonymousendpoint.amazonaws.com",
    port='5432',
    database="DBname",
    user="Project",
    password="secret"
)

engine.connect()

已尝试在上面的参数中包含 url='postgres',以及一些其他变体。我最常收到以下错误:TypeError: create_engine() missing 1 required positional argument: 'url'

有时会出现此错误:ArgumentError: Could not parse rfc1738 URL from string 'postgres'

提示输入密码,所以我通过代码知道至少是运行。预先感谢您的帮助!

尝试一下,希望对您有所帮助

conf ={
    'host':"anonymousendpoint.amazonaws.com",
    'port':'5432',
    'database':"DBname",
    'user':"Project",
    'password':"secret"
}
engine = create_engine("postgresql://{user}:{password}@{host}:{port}/{database}".format(**conf))

postgresql+DBApi(asyncpg,psycopg,pg800 ,...)