Пример Python для подключения к Aurora MySQL с аутентификацией пользователя IAM - PullRequest
0 голосов
/ 07 июня 2019

Я подключаюсь к базе данных Aurora с помощью python. Все работает, когда у меня есть статический ИД пользователя и пароль;

Я пытаюсь использовать пользователя, прошедшего проверку подлинности IAM, и пользователь настроен, и он хорошо работает с использованием MySQLWorkbench

Я пытаюсь использовать SQLAlchemy для подключения с помощью Python - это должно быть не сложнее, но это не работает

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 правильно

...