Azure Database for MySQL/PostgreSQL-bibliotek för Python

Den här artikeln visar hur du kan använda Python för att komma åt data som lagras i Azure Database for MySQL och PostgreSQL.

MySQL

Använd Python för att skapa och ansluta till en Azure Database for MySQL-server med MySQL-hanteraren och pyodbc.

Hanterings-API

Skapa och hantera MySQL-resurser i din prenumeration med hanterings-API:et.

Installera MySQL-hanteringsbiblioteken med pip.

pip install azure-mgmt-rdbms

Mer information om hur du hämtar autentiseringsuppgifter för att autentisera med hanteringsklienten finns på autentiseringssidan för Python SDK .

Skapa serverexempel

Skapar en Azure Database for MySQL server och begränsar åtkomsten till ett intervall med IP-adresser med hjälp av en brandväggsregel.

Kopiera och klistra in kodexemplet nedan i en Python-fil (t.ex. sample.py) och uppdatera prenumerations-ID, resursgrupp, servernamn, administratörsanvändarnamn, administratörslösenord och plats med egna värden.

from azure.mgmt.rdbms.mysql import MySQLManagementClient
from azure.mgmt.rdbms.mysql.models import *

SUBSCRIPTION_ID = "YOUR_AZURE_SUBSCRIPTION_ID"
RESOURCE_GROUP = "YOUR_AZURE_RESOURCE_GROUP"
SERVER = "YOUR_SERVER_NAME"
ADMIN_USER = "YOUR_ADMIN_USERNAME"
ADMIN_PASSWORD = "YOUR_ADMIN_PASSWORD"
LOCATION = "westus"

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

server_creation_poller = client.servers.create(
    RESOURCE_GROUP,
    SERVER,
    ServerForCreate(
        properties=ServerPropertiesForDefaultCreate(
            administrator_login=ADMIN_USER,
            administrator_login_password=ADMIN_PASSWORD,
            version=ServerVersion.one_one,
            storage_profile=StorageProfile(
                storage_mb=51200
            )
        ),
        location=LOCATION,
        sku=Sku(
            name="GP_Gen5_2"
        )
    )
)

server = server_creation_poller.result()

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

firewall_rule = rule_creation_poller.result()

Klientens ODBC-drivrutin och pyodbc

Det rekommenderade klientbiblioteket för åtkomst till Azure Database for MySQL är Microsoft ODBC-drivrutinen. Använd ODBC-drivrutinen för att ansluta till databasen och köra SQL-instruktioner direkt.

Exempel

Anslut till en Azure Database for MySQL server och välj alla poster i försäljningstabellen. Du kan hämta ODBC-anslutningssträng för databasen från 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)

PostgreSQL

Använd Python för att skapa och ansluta till en Azure Database for PostgreSQL-server med PostgreSQL-hanteraren och pyodbc.

Läs mer om Azure Database for PostgreSQL.

Hanterings-API

Skapa och hantera MySQL-resurser i din prenumeration med hanterings-API:et.

Installera PostgreSQL-hanteringsbiblioteken med pip.

pip install azure-mgmt-rdbms

Mer information om hur du hämtar autentiseringsuppgifter för att autentisera med hanteringsklienten finns på autentiseringssidan för Python SDK .

Skapa serverexempel

Skapar en Azure Database for PostgreSQL server och begränsar åtkomsten till ett intervall med IP-adresser med hjälp av en brandväggsregel.

Kopiera och klistra in kodexemplet nedan i en Python-fil (t.ex. sample.py) och uppdatera prenumerations-ID, resursgrupp, servernamn, administratörsanvändarnamn, administratörslösenord och plats med egna värden.

from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
from azure.mgmt.rdbms.postgresql.models import *

SUBSCRIPTION_ID = "YOUR_AZURE_SUBSCRIPTION_ID"
RESOURCE_GROUP = "YOUR_AZURE_RESOURCE_GROUP"
SERVER = "YOUR_SERVER_NAME"
ADMIN_USER = "YOUR_ADMIN_USERNAME"
ADMIN_PASSWORD = "YOUR_ADMIN_PASSWORD"
LOCATION = "westus"

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

server_creation_poller = client.servers.create(
    RESOURCE_GROUP,
    SERVER,
    ServerForCreate(
        properties=ServerPropertiesForDefaultCreate(
            administrator_login=ADMIN_USER,
            administrator_login_password=ADMIN_PASSWORD,
            version=ServerVersion.one_one,
            storage_profile=StorageProfile(
                storage_mb=51200
            )
        ),
        location=LOCATION,
        sku=Sku(
            name="GP_Gen5_2"
        )
    )
)

server = server_creation_poller.result()

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

firewall_rule = rule_creation_poller.result()

Klientens ODBC-drivrutin och pyodbc

Det rekommenderade klientbiblioteket för åtkomst till Azure Database for PostgreSQL är Microsoft ODBC-drivrutinen och pyodbc.

Connect-exempel

Anslut till en Azure Database for PostgreSQL server och välj alla poster i SALES tabellen. Du kan hämta ODBC-anslutningssträng för databasen från 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)