Мне нужно передать пользовательский аргумент в функцию create_engine
SQLAlchemy, чтобы SSL авторизовал соединение с моей базой данных с AWS RDS. здесь , здесь и здесь было рекомендовано использовать connect_args
SQLAlchemy для передачи моего пользовательского аргумента ключевого слова.Я попытался:
engine = create_engine(os.environ['DB_URI'], connect_args={'ssla':'amazon-rds-ca-cert.pem'})
Однако я обнаружил следующую ошибку TypeError, которая является той же ошибкой, которую другие авторы сказали connect_args
исправил для них:
TypeError: 'ssla' is an invalid keyword argument for this function
Кажется, что я делаюэто точно верно.Я также попытался передать аргументы ключевого слова в строку подключения:
mysql://name:password@localhost/test?sslca=amazon-rds-ca-cert.pem
И изменить имена аргументов ключевого слова так, чтобы они точно соответствовали примеру в sqlalchemy docs :
db = create_engine('mysql://name:password@localhost/test', connect_args = {'argument2':'bar'})
Однако все равно не повезло.Кажется, что MySQLdb выдает ошибку в сообщении об ошибке, так что, возможно, это ошибка там?
File "/Users/tobyweed/workspace/ftm/live-event-market/server/serverenv/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 411, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/Users/tobyweed/workspace/ftm/live-event-market/server/serverenv/lib/python2.7/site-packages/MySQLdb/__init__.py", line 86, in Connect
return Connection(*args, **kwargs)
File "/Users/tobyweed/workspace/ftm/live-event-market/server/serverenv/lib/python2.7/site-packages/MySQLdb/connections.py", line 204, in __init__
super(Connection, self).__init__(*args, **kwargs2)
TypeError: 'ssla' is an invalid keyword argument for this function
Однако, у меня не установлен MySQLdb, поэтому это должен быть SQLAlchemy, который его использует,У меня последняя версия SQLAlchemy (1.2.8), поэтому этого не может быть.
Пожалуйста, помогите!