Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connessione al dell'istanza database tramite Autenticazione IAM e AWS SDK for Python (Boto3)
Puoi connetterti a un cluster di database Aurora MySQL o Aurora PostgreSQL con la AWS SDK for Python (Boto3) come descritto di seguito.
Prerequisiti
Di seguito sono riportati i prerequisiti per la connessione alcluster di DB utilizzando l'autenticazione IAM:
Inoltre, assicurarsi che le librerie importate nel codice di esempio esistano nel sistema.
Esempi
Gli esempi di codice utilizzano i profili per le credenziali condivise. Per informazioni sulla specifica delle credenziali, vedere Credenziali
Il seguente esempio di codice mostra come generare un token di autenticazione e utilizzarlo per eseguire la connessione a un cluster del database.
Per eseguire questo codice di esempio è necessario AWS SDK for Python (Boto3)
Modifica i valori delle variabili seguenti in base alle esigenze.
-
ENDPOINT
: l'endpoint del cluster di database cui vuoi accedere -
PORT
– Numero di porta usato per la connessione al dell'istanza database -
USER
– L'account database cui vuoi accedere. -
REGION
: la regione AWS in cui è in esecuzione il cluster di database -
DBNAME
– Database a cui accedere. -
SSLCERTIFICATE
- Percorso completo del certificato SSL per Amazon AuroraPer
ssl_ca
, specificare un certificato SSL. Per scaricare un certificato SSL consulta
Nota
Non è possibile utilizzare un record DNS Route 53 personalizzato o un endpoint personalizzato Aurora anziché l'endpoint del cluster database per generare il token di autenticazione.
Questo codice si connette a un cluster di database Aurora MySQL.
Prima di eseguire questo codice, installa il driver PyMySQL seguendo le istruzioni in Python Package Index
import pymysql import sys import boto3 import os ENDPOINT="
mysqlcluster.cluster-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(host=ENDPOINT, user=USER, passwd=token, port=PORT, database=DBNAME, ssl_ca='SSLCERTIFICATE
') 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))
Questo codice si connette a un cluster di database Aurora PostgreSQL.
Prima di eseguire questo codice, installapsycopg2
seguendo le istruzioni in Documentazione di Psycopg
import psycopg2 import sys import boto3 import os ENDPOINT="
postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com
" PORT="5432
" USER="jane_doe
" REGION="us-east-1
" DBNAME="mydb
" #gets the credentials from .aws/credentials session = boto3.Session(profile_name='RDSCreds') client = session.client('rds') token = client.generate_db_auth_token(DBHostname=ENDPOINT
, Port=PORT
, DBUsername=USER
, Region=REGION
) try: conn = psycopg2.connect(host=ENDPOINT, port=PORT, database=DBNAME, user=USER, password=token, sslrootcert="SSLCERTIFICATE
") 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))
Se desideri connetterti a un cluster di database tramite un proxy, consulta Connessione a un proxy mediante autenticazione IAM.