我正在使用python连接到Aurora数据库。当我具有静态用户名和密码时,一切正常;
我正在尝试使用经过IAM身份验证的用户,并且该用户已设置,并且可以使用MySQL Workbench很好地工作
我正在尝试使用python连接使用SQLAlchemy-这应该是没有头脑的,但是它不起作用
from _collections import OrderedDict
import datetime
from sqlalchemy import create_engine
from boto3 import client
# import pymysql
db_end_point = "yyyyyyyyyyyy.cluster-xxxxxxxxxxxx.eu-west-1.rds.amazonaws.com"
def get_db_password(cluster_end_point, user_name):
rds_client = client('rds', region_name='eu-west-1')
rds_token = rds_client.generate_db_auth_token(DBHostname=cluster_end_point, Port=3306, DBUsername=user_name, Region='eu-west-1')
return rds_token
user_password = get_db_password(db_end_point, "svc_payment_data_write")
print(user_password)
url = "mysql://{}:3306/payment_data_store".format(db_end_point)
rds_credentials = {
'user' : 'svc_payment_data_write', 'passwd' : user_password
}
kw = dict()
kw.update(rds_credentials)
print(kw)
engine = create_engine(url, connect_args=kw)
connection = engine.connect()
我也尝试用正确引用的密码字符串创建url。同一件事在JAVA中也能正常工作