適用於 Python 的 Azure MySQL/PostgreSQL 程式庫Azure MySQL/PostgreSQL libraries for Python
MySQLMySQL
從 Python 透過 MySQL 管理員與 pyodbc 使用儲存在 Azure MySQL Database 的資源和資料。Work with resources and data stored in Azure MySQL Database from python with the MySQL manager and pyodbc.
Client ODBC 驅動程式和 pyodbcClient ODBC driver and pyodbc
用於存取 Azure Database for 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 Database for MySQL 並選取銷售資料表中的所有記錄。Connect to a Azure Database for MySQL and select all records in the sales table. 您可以從 Azure 入口網站取得資料庫的 ODBC 連接字串。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)
管理 APIManagement API
使用管理 API 在訂用帳戶中建立和管理 MySQL Database 資源。Create and manage MySQL resources in your subscription with the management API.
需求Requirements
您必須安裝適用於 Python 的 MySQL 管理程式庫。You must install the MySQL management libraries for Python.
pip install azure-mgmt-rdbms
如需取得認證以驗證管理用戶端的詳細資料,請參閱 Python SDK 驗證頁面。Please see the Python SDK authentication page for details on obtaining credentials to authenticate with the management client.
範例Example
建立 MySQL 5.7 Database 資源,並使用防火牆規則限制只能存取某個 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.
深入了解適用於 PostgreSQL 的 Azure 資料庫。Learn more about Azure Database for PostgreSQL.
Client ODBC 驅動程式和 pyodbcClient ODBC driver and pyodbc
建議用於存取適用於 PostgreSQL 的 Azure 資料庫用戶端程式庫是 Microsoft ODBC 驅動程式和 pyodbc。The recommended client library for accessing Azure Database for PostgreSQL is the Microsoft ODBC driver and pyodbc.
範例Example
連線到 Azure Database for PostgreSQL 並選取 SALES
資料表中的所有記錄。Connect to a Azure Database for PostgreSQL and select all records in the SALES
table. 您可以從 Azure 入口網站取得資料庫的 ODBC 連接字串。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)
管理 APIManagement API
需求Requirements
您必須安裝適用於 Python 的 PostgreSQL 管理程式庫。You must install the PostgreSQL management libraries for Python.
pip install azure-mgmt-rdbms
如需取得認證以驗證管理用戶端的詳細資料,請參閱 Python SDK 驗證頁面。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()