Библиотеки Azure MySQL и PostgreSQL для PythonAzure MySQL/PostgreSQL libraries for Python

MySQLMySQL

Для работы с ресурсами и данными, хранящимися в базе данных Azure MySQL, с помощью Python используйте диспетчер MySQL и модуль pyodbc.Work with resources and data stored in Azure MySQL Database from python with the MySQL manager and pyodbc.

Драйвер клиента ODBC и модуль pyodbcClient ODBC driver and pyodbc

Рекомендуемой клиентской библиотекой для доступа к базе данных Azure для MySQL является драйвер Microsoft ODBC.The recommended client library for accessing Azure Database for MySQL is the Microsoft ODBC driver. Подключитесь к базе данных при помощи драйвера ODBC и напрямую выполните инструкции SQL.Use the ODBC driver to connect to the database and execute SQL statements directly.

ПримерExample

Подключитесь к базе данных Azure для MySQL и выберите все записи в таблице sales.Connect to a Azure Database for MySQL and select all records in the sales table. Строку подключения ODBC для базы данных можно получить на портале 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 управленияManagement API

Создавайте ресурсы MySQL и управляйте ими в своей подписке с помощью API управления.Create and manage MySQL resources in your subscription with the management API.

ТребованияRequirements

Необходимо установить библиотеки управления MySQL для Python.You must install the MySQL management libraries for Python.

pip install azure-mgmt-rdbms

Дополнительные сведения о получении учетных данных для проверки подлинности с помощью клиента управления см. в разделе, посвященном проверке подлинности с помощью пакета SDK для Python.Please see the Python SDK authentication page for details on obtaining credentials to authenticate with the management client.

ПримерExample

Создайте ресурс базы данных MySQL 5.7 и ограничьте доступ к диапазону IP-адресов с помощью правила брандмауэра.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

Подключитесь к базе данных при помощи драйвера ODBC и модуля pyodbc и напрямую выполните инструкции SQL.Use the ODBC driver and pyodbc to connect to the database and execute SQL statements directly.

Дополнительные сведения о базе данных Azure для PostgreSQL.Learn more about Azure Database for PostgreSQL.

Драйвер клиента ODBC и модуль pyodbcClient ODBC driver and pyodbc

Рекомендуемой клиентской библиотекой для доступа к базе данных Azure для PostgreSQL являются драйвер ODBC (Майкрософт) и модуль pyodbc.The recommended client library for accessing Azure Database for PostgreSQL is the Microsoft ODBC driver and pyodbc.

ПримерExample

Подключитесь к базе данных Azure для PostgreSQL и выберите все записи в таблице SALES.Connect to a Azure Database for PostgreSQL and select all records in the SALES table. Строку подключения ODBC для базы данных можно получить на портале 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 управленияManagement API

ТребованияRequirements

Необходимо установить библиотеки управления PostgreSQL для Python.You must install the PostgreSQL management libraries for Python.

pip install azure-mgmt-rdbms

Дополнительные сведения о получении учетных данных для проверки подлинности с помощью клиента управления см. в разделе, посвященном проверке подлинности с помощью пакета SDK для Python.Please see the Python SDK authentication page for details on obtaining credentials to authenticate with the management client.

ПримерExample

В этом примере мы создадим новую базу данных Postgres на существующем сервере Postgres.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()