biblioteki Azure Database for MySQL/PostgreSQL dla języka Python

W tym artykule pokazano, jak używać języka Python do uzyskiwania dostępu do danych przechowywanych w usługach Azure Database for MySQL i PostgreSQL.

MySQL

Użyj języka Python, aby utworzyć serwer Azure Database for MySQL i nawiązać z nią połączenie za pomocą menedżera MySQL i narzędzia pyodbc.

Interfejs API zarządzania

Tworzenie zasobów mySQL i zarządzanie nimi w ramach subskrypcji za pomocą interfejsu API zarządzania.

Zainstaluj biblioteki zarządzania MySQL za pomocą narzędzia pip.

pip install azure-mgmt-rdbms

Aby uzyskać szczegółowe informacje na temat uzyskiwania poświadczeń do uwierzytelniania za pomocą klienta zarządzania, zobacz stronę uwierzytelniania zestawu SDK języka Python .

Przykład tworzenia serwera

Tworzy serwer Azure Database for MySQL i ogranicza dostęp do zakresu adresów IP przy użyciu reguły zapory.

Skopiuj i wklej poniższy przykładowy kod do pliku w języku Python (np. sample.py) i zaktualizuj identyfikator subskrypcji, grupę zasobów, nazwę serwera, nazwę użytkownika administratora, hasło administratora i lokalizację przy użyciu własnych wartości.

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()

Sterownik ODBC klienta i pyodbc

Zalecaną biblioteką klienta na potrzeby uzyskiwania dostępu do Azure Database for MySQL jest sterownik OdBC firmy Microsoft. Użyj sterownika ODBC, aby nawiązać połączenie z bazą danych i bezpośrednio wykonać instrukcje SQL.

Przykład

Połącz się z serwerem Azure Database for MySQL i wybierz wszystkie rekordy w tabeli sprzedaży. Możesz uzyskać parametry połączenia ODBC dla bazy danych w witrynie 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

Użyj języka Python, aby utworzyć serwer Azure Database for PostgreSQL i nawiązać z nią połączenie za pomocą menedżera PostgreSQL i narzędzia pyodbc.

Dowiedz się więcej o Azure Database for PostgreSQL.

Interfejs API zarządzania

Tworzenie zasobów mySQL i zarządzanie nimi w ramach subskrypcji za pomocą interfejsu API zarządzania.

Zainstaluj biblioteki zarządzania PostgreSQL za pomocą narzędzia pip.

pip install azure-mgmt-rdbms

Aby uzyskać szczegółowe informacje na temat uzyskiwania poświadczeń do uwierzytelniania za pomocą klienta zarządzania, zobacz stronę uwierzytelniania zestawu SDK języka Python .

Przykład tworzenia serwera

Tworzy serwer Azure Database for PostgreSQL i ogranicza dostęp do zakresu adresów IP przy użyciu reguły zapory.

Skopiuj i wklej poniższy przykładowy kod do pliku w języku Python (np. sample.py) i zaktualizuj identyfikator subskrypcji, grupę zasobów, nazwę serwera, nazwę użytkownika administratora, hasło administratora i lokalizację przy użyciu własnych wartości.

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()

Sterownik ODBC klienta i pyodbc

Zalecaną biblioteką klienta do uzyskiwania dostępu do Azure Database for PostgreSQL jest sterownik Microsoft ODBC i pyodbc.

Przykład połączenia

Połącz się z serwerem Azure Database for PostgreSQL i wybierz wszystkie rekordy w SALES tabeli. Możesz uzyskać parametry połączenia ODBC dla bazy danych w witrynie 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)