pustaka Azure Database for MySQL/PostgreSQL untuk Python
Artikel ini menunjukkan bagaimana Anda dapat menggunakan Python untuk mengakses data yang disimpan di Azure Database for MySQL dan PostgreSQL.
MySQL
Gunakan Python untuk membuat dan menyambungkan ke server Azure Database for MySQL dengan manajer MySQL dan pyodbc.
API Manajemen
Buat dan kelola sumber daya MySQL di langganan Anda dengan API manajemen.
Instal pustaka manajemen MySQL dengan pip.
pip install azure-mgmt-rdbms
Silakan lihat halaman autentikasi Python SDK untuk detail tentang mendapatkan kredensial untuk mengautentikasi dengan klien manajemen.
Membuat contoh server
Membuat server Azure Database for MySQL dan membatasi akses ke berbagai alamat IP menggunakan aturan firewall.
Salin dan tempel sampel kode di bawah ini ke dalam file Python (mis. sample.py
) dan perbarui ID langganan, grup sumber daya, nama server, nama pengguna administrator, kata sandi administrator, dan lokasi dengan nilai Anda sendiri.
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()
Driver ODBC klien dan pyodbc
Pustaka klien yang direkomendasikan untuk mengakses Azure Database for MySQL adalah driver Microsoft ODBC. Gunakan driver ODBC untuk menyambungkan ke database dan menjalankan pernyataan SQL secara langsung.
Contoh
Sambungkan ke server Azure Database for MySQL dan pilih semua rekaman dalam tabel penjualan. Anda bisa mendapatkan string koneksi ODBC untuk database dari Portal Microsoft Azure.
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
Gunakan Python untuk membuat dan menyambungkan ke server Azure Database for PostgreSQL dengan manajer PostgreSQL dan pyodbc.
Pelajari selengkapnya tentang Azure Database for PostgreSQL.
API Manajemen
Buat dan kelola sumber daya MySQL di langganan Anda dengan API manajemen.
Instal pustaka manajemen PostgreSQL dengan pip.
pip install azure-mgmt-rdbms
Silakan lihat halaman autentikasi Python SDK untuk detail tentang mendapatkan kredensial untuk mengautentikasi dengan klien manajemen.
Membuat contoh server
Membuat server Azure Database for PostgreSQL dan membatasi akses ke berbagai alamat IP menggunakan aturan firewall.
Salin dan tempel sampel kode di bawah ini ke dalam file Python (mis. sample.py
) dan perbarui ID langganan, grup sumber daya, nama server, nama pengguna administrator, kata sandi administrator, dan lokasi dengan nilai Anda sendiri.
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()
Driver ODBC klien dan pyodbc
Pustaka klien yang direkomendasikan untuk mengakses Azure Database for PostgreSQL adalah driver Microsoft ODBC dan pyodbc.
Contoh sambungkan
Sambungkan ke server Azure Database for PostgreSQL dan pilih semua rekaman dalam SALES
tabel. Anda bisa mendapatkan string koneksi ODBC untuk database dari Portal Microsoft Azure.
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)
Azure SDK for Python