Код: Выделить всё
conn = pymysql.connect(auth_plugin_map={'mysql_clear_password': None}, host=ENDPOINT, user=USER, password=token,
port=PORT, database=DBNAME, ssl_ca='certbundle.pem', ssl_verify_identity=True)
Я установил значения хоста, пользователя, пароля, порта и базы данных в такие же, как и в базе данных.
Я использовал рекомендованный код от Amazon с измененными значениями. Подробности здесь: https://docs.aws.amazon.com/AmazonRDS/l ... ython.html
Полный код показан ниже. Я обновил переменные.
Код: Выделить всё
import pymysql
import sys
import boto3
import os
ENDPOINT="mysqldb.123456789012.us-east-1.rds.amazonaws.com"
PORT="3306"
USER="jane_doe"
REGION="us-east-1"
DBNAME="mydb"
os.environ['LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN'] = '1'
#gets the credentials from .aws/credentials
session = boto3.Session(profile_name='default')
client = session.client('rds')
token = client.generate_db_auth_token(DBHostname=ENDPOINT, Port=PORT, DBUsername=USER, Region=REGION)
try:
conn = pymysql.connect(auth_plugin_map={'mysql_clear_password':None},host=ENDPOINT, user=USER, password=token, port=PORT, database=DBNAME, ssl_ca='SSLCERTIFICATE', ssl_verify_identity=True)
cur = conn.cursor()
cur.execute("""SELECT now()""")
query_results = cur.fetchall()
print(query_results)
except Exception as e:
print("Database connection failed due to {}".format(e))
Подробнее здесь: https://stackoverflow.com/questions/791 ... -failed-ca