Librerie di Azure per MySQL/PostgreSQL per PythonAzure MySQL/PostgreSQL libraries for Python

MySQLMySQL

Usare le risorse e i dati archiviati nel database MySQL di Azure da Python con lo strumento di gestione MySQL e pyodbc.Work with resources and data stored in Azure MySQL Database from python with the MySQL manager and pyodbc.

Driver ODBC client e pyodbcClient ODBC driver and pyodbc

La libreria client consigliata per l'accesso al Database di Azure per MySQL è il driver ODBC Microsoft.The recommended client library for accessing Azure Database for MySQL is the Microsoft ODBC driver. Usare il driver ODBC per connettersi al database ed eseguire direttamente le istruzioni SQL.Use the ODBC driver to connect to the database and execute SQL statements directly.

EsempioExample

Connettersi a un database di Azure per MySQL e selezionare tutti i record nella tabella relativa alle vendite.Connect to a Azure Database for MySQL and select all records in the sales table. È possibile ottenere la stringa di connessione ODBC per il database dal portale di Azure.You can get the ODBC connection string for the database from the Azure Portal.

SERVER = 'YOUR_SEVER_NAME' + '.mysql.database.azure.com'
DATABASE = 'YOUR_DATABASE_NAME'
USERNAME = 'YOUR_MYSQL_USERNAME'
PASSWORD = 'YOUR_MYSQL_PASSWORD'

DRIVER = '{MySQL ODBC 5.3 UNICODE Driver}'
cnxn = pyodbc.connect(
    'DRIVER=' + DRIVER + ';PORT=3306;SERVER=' + SERVER + ';PORT=3306;DATABASE=' + DATABASE + ';UID=' + USERNAME + ';PWD=' + PASSWORD)
cursor = cnxn.cursor()
selectsql = "SELECT * FROM SALES"  # SALES is an example table name
cursor.execute(selectsql)

API di gestioneManagement API

Creare e gestire le risorse di MySQL nella sottoscrizione con l'API di gestione.Create and manage MySQL resources in your subscription with the management API.

RequisitiRequirements

È necessario installare le librerie di gestione di MySQL per Python.You must install the MySQL management libraries for Python.

pip install azure-mgmt-rdbms

Per informazioni dettagliate su come ottenere le credenziali per l'autenticazione nel client di gestione, vedere la pagina relativa all'autenticazione di Python SDK.Please see the Python SDK authentication page for details on obtaining credentials to authenticate with the management client.

EsempioExample

Creare una risorsa del database MySQL 5.7 e limitare l'accesso a un intervallo di indirizzi IP usando una regola del firewall.Create a MySQL 5.7 Database resource and restrict access to a range of IP addresses using a firewall rule.


from azure.mgmt.rdbms.mysql import MySQLManagementClient
from azure.mgmt.rdbms.mysql.models import ServerForCreate, ServerPropertiesForDefaultCreate, ServerVersion

SUBSCRIPTION_ID = "YOUR_AZURE_SUBSCRIPTION_ID"
RESOURCE_GROUP = "YOUR_AZURE_RESOURCE-GROUP_WITH_POSTGRES"
MYSQL_SERVER = "YOUR_DESIRED_MYSQL_SERVER_NAME"
MYSQL_ADMIN_USER = "YOUR_MYSQL_ADMIN_USERNAME"
MYSQL_ADMIN_PASSWORD = "YOUR_MYSQL_ADMIN_PASSOWRD"
LOCATION = "westus"  # example Azure availability zone, should match resource group


client = MySQLManagementClient(credentials=creds,
    subscription_id=SUBSCRIPTION_ID)

server_creation_poller = client.servers.create_or_update(
    resource_group_name=RESOURCE_GROUP,
    server_name=MYSQL_SERVER,
    ServerForCreate(
        ServerPropertiesForDefaultCreate(
            administrator_login=MYSQL_ADMIN_USER,
            administrator_login_password=MYSQL_ADMIN_PASSWORD,
            version=ServerVersion.five_full_stop_seven
        ),
        location=LOCATION
    )
)

server = server_creation_poller.result()

# Open access to this server for IPs
rule_creation_poller = client.firewall_rules.create_or_update(
    RESOURCE_GROUP
    MYSQL_SERVER,
    "some_custom_ip_range_whitelist_rule_name",  # Custom firewall rule name
    "123.123.123.123",  # Start ip range
    "167.220.0.235"  # End ip range
)

firewall_rule = rule_creation_poller.result()

PostgreSQLPostgreSQL

Usare il driver ODBC e pyodbc per connettersi al database ed eseguire direttamente le istruzioni SQL.Use the ODBC driver and pyodbc to connect to the database and execute SQL statements directly.

Altre informazioni sul Database di Azure per PostgreSQL.Learn more about Azure Database for PostgreSQL.

Driver ODBC client e pyodbcClient ODBC driver and pyodbc

La libreria client consigliata per l'accesso al Database di Azure per PostgreSQL è il driver ODBC Microsoft e pyodbc.The recommended client library for accessing Azure Database for PostgreSQL is the Microsoft ODBC driver and pyodbc.

EsempioExample

Connettersi a un database di Azure per PostgreSQL e selezionare tutti i record della tabella SALES.Connect to a Azure Database for PostgreSQL and select all records in the SALES table. È possibile ottenere la stringa di connessione ODBC per il database dal portale di Azure.You can get the ODBC connection string for the database from the Azure Portal.

import pyodbc

SERVER = 'YOUR_SERVER_NAME.postgres.database.azure.com'
DATABASE = 'YOUR_DB_NAME'
USERNAME = 'YOUR_USERNAME'
PASSWORD = 'YOUR_PASSWORD'

DRIVER = '{PostgreSQL ODBC Driver}'
cnxn = pyodbc.connect(
    'DRIVER=' + DRIVER + ';PORT=5432;SERVER=' + SERVER +
    ';PORT=5432;DATABASE=' + DATABASE + ';UID=' + USERNAME +
    ';PWD=' + PASSWORD)
cursor = cnxn.cursor()
selectsql = "SELECT * FROM SALES" # SALES is an example table name
cursor.execute(selectsql)

API di gestioneManagement API

RequisitiRequirements

È necessario installare le librerie di gestione di PostgreSQL per Python.You must install the PostgreSQL management libraries for Python.

pip install azure-mgmt-rdbms

Per informazioni dettagliate su come ottenere le credenziali per l'autenticazione nel client di gestione, vedere la pagina relativa all'autenticazione di Python SDK.Please see the Python SDK authentication page for details on obtaining credentials to authenticate with the management client.

EsempioExample

In questo esempio verrà creato un nuovo database Postgres nel server Postgres esistente.In this example we will create a new Postgres database on our existing Postgres server.

from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient

SUBSCRIPTION_ID = "YOUR_AZURE_SUBSCRIPTION_ID"
RESOURCE_GROUP = "YOUR_AZURE_RESOURCE_GROUP_WITH_POSTGRES"
POSTGRES_SERVER = "YOUR_POSTGRES_SERVER_NAME"
DB_NAME = "YOUR_DESIRED_DATABASE_NAME"

client = PostgreSQLManagementClient(credentials, SUBSCRIPTION_ID)

db_creation_poller = client.databases.create_or_update(
    resource_group_name=RESOURCE_GROUP,
    server_name=POSTGRES_SERVER, database_name=DB_NAME)
db = db_creation_poller.result()