Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban megtudhatja, hogyan használhatja az Azure Python SDK-t egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldány használatára.
Az Azure Database for PostgreSQL egy felügyelt szolgáltatás, amely magas rendelkezésre állású PostgreSQL-adatbázisok futtatására, kezelésére és skálázására szolgál a felhőben. A Python SDK használatával rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt, több kiszolgálót vagy több adatbázist építhet ki egy kiszolgálón.
A következő műveleteket hajthatja végre ezzel a kódtárral:
- Rugalmas PostgreSQL-kiszolgálópéldány létrehozása
- Adatbázisok kezelése
- Tűzfalszabályok konfigurálása
- Skálázási műveletek
- Biztonsági mentés és visszaállítás
Ez az útmutató segítséget nyújt az SDK alapvető funkcióinak megismeréséhez, beleértve a rugalmas kiszolgálópéldány létrehozását, a létrehozott kiszolgáló áttekintését, az adatbázis létrehozását és a példány törlését.
Előfeltételek
Aktív előfizetéssel rendelkező fiók
Aktív előfizetéssel rendelkező Azure-fiók– Ingyenes létrehozás.
A könyvtárak telepítése
Telepítse a következő Azure Python-kódtárakat.
pip install azure-mgmt-resource
pip install azure-identity
pip install azure-mgmt-postgresqlflexibleservers
A bejelentkezési parancs futtatása
Jelentkezzen be a fiókjába azurecli a fiók hitelesítéséhez.
az login
A parancs végrehajtása után válasszon ki egy érvényes fiókot a bejelentkezéshez, majd később válassza ki az előfizetés azonosítóját a listából a bejelentkezéshez.
A kiszolgáló létrehozása
Hozzon létre egy create_postgres_flexible_server.py fájlt, és adja meg a következő kódot.
from azure.identity import DefaultAzureCredential
from azure.mgmt.postgresqlflexibleservers import PostgreSQLManagementClient
def main():
client = PostgreSQLManagementClient(
credential=DefaultAzureCredential(),
subscription_id="<subscription-id>",
)
response = client.servers.begin_create(
resource_group_name="<resource-group-name>",
server_name="<server-name>",
parameters={
"location": "<region>",
"properties": {
"administratorLogin": "<admin-username>",
"administratorLoginPassword": "<password>",
"availabilityZone": "1",
"backup": {"backupRetentionDays": 7, "geoRedundantBackup": "Disabled"},
"createMode": "Create",
"highAvailability": {"mode": "ZoneRedundant"},
"network": {
"delegatedSubnetResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>",
"privateDnsZoneArmResourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Network/privateDnsZones/<private-DNS-zone-name>.postgres.database.azure.com",
},
"version": "<pg-version>",
},
"sku": {"name": "<sku-name>", "tier": "<tier-type>"},
"tags": {"ElasticServer": "1"},
},
).result()
print(response)
if __name__ == "__main__":
main()
Cserélje le a következő paramétereket az ön adataira:
- előfizetés-azonosító: Saját előfizetés-azonosító.
- erőforráscsoport: Nevezze el a használni kívánt erőforráscsoportot. Ha nem létezik, a szkript létrehoz egy újat.
-
kiszolgálónév: Egyedi név, amely azonosítja a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt. A rendszer hozzáfűzi a tartománynevet
postgres.database.azure.coma megadott kiszolgálónévhez. A kiszolgáló nevének legalább három karakternek és legfeljebb 63 karakternek kell lennie, és csak kisbetűket, számokat és kötőjeleket tartalmazhat. -
Hely: Az Az Azure-régió, ahol rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt szeretne létrehozni. Meghatározza azt a földrajzi helyet, ahol a kiszolgáló és az adatai találhatók. Válasszon egy, a felhasználókhoz közeli régiót a kisebb késés érdekében. A helyet az Azure-régió rövid neveiben kell megadni, például
westus2: ,eastusvagynortheurope. - rendszergazdai felhasználónév: A kiszolgáló elsődleges rendszergazdai felhasználóneve. A kiszolgáló létrehozása után további felhasználókat hozhat létre.
- jelszó: A kiszolgáló elsődleges rendszergazdájának jelszava. A jelszó 8–128 karakterből állhat. A jelszónak három kategóriába tartozó karaktereket kell tartalmaznia: angol nagybetűket, angol kisbetűket, számokat (0–9) és nonalphanumerikus karaktereket (!, $, #, %stb.).
Más paraméterek, például a virtuális hálózat neve, az alhálózat neve, a privát DNS-zóna értékeit is hozzáadhatja, és testre szabhat más paramétereket, például a tároló méretét, a motorverziót stb.
Feljegyzés
A DefaultAzureCredential osztály különböző módszerekkel próbál hitelesíteni, például környezeti változókkal, felügyelt identitásokkal vagy az Azure CLI-vel.
Győződjön meg arról, hogy az alábbi módszerek valamelyike be van állítva. A hitelesítésről az Azure SDK dokumentációjában talál további információt.
A kód futtatása elindítja a példánylétrehozási folyamatot, amely eltarthat néhány percig.
Üzembe helyezett erőforrások áttekintése
A Python SDK, az Azure Portal, az Azure CLI, az Azure PowerShell és más eszközök használatával ellenőrizheti az üzembe helyezést, és áttekintheti az üzembe helyezett erőforrásokat. Néhány példát alább talál.
Üzembe helyezés ellenőrzése a Python SDK-val
Adja hozzá a check_server_created függvényt a meglévő szkripthez a PostgreSQLManagementClient-példány kiszolgálóattribútumának használatával annak ellenőrzéséhez, hogy létrejött-e a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány:
def check_server_created(subscription_id, resource_group, server_name):
# Authenticate with your Azure account
credential = DefaultAzureCredential()
# Create PostgreSQL management client
postgres_client = PostgreSQLManagementClient(credential, subscription_id)
try:
server = postgres_client.servers.get(resource_group, server_name)
if server:
print(f"Server '{server_name}' exists in resource group '{resource_group}'.")
print(f"Server state: {server.state}")
else:
print(f"Server '{server_name}' not found in resource group '{resource_group}'.")
except Exception as e:
print(f"Error occurred: {e}")
print(f"Server '{server_name}' not found in resource group '{resource_group}'.")
Hívja meg a megfelelő paraméterekkel.
check_server_created(subscription_id, resource_group, server_name)
Feljegyzés
A check_server_created függvény a kiszolgáló üzembe helyezése után azonnal visszaadja a kiszolgáló állapotát. A kiszolgáló azonban eltarthat néhány percig, amíg teljesen elérhetővé válik. Mielőtt csatlakozik, várja meg, amíg a kiszolgáló készen áll. A postgres_client.servers.get metódusra válaszul visszaadja az állapotot, az azonosítót, a nevet, a helyet és az egyéb paramétereket.
Adatbázis létrehozása a Python használatával
Adatbázis létrehozása a rugalmas kiszolgálópéldányban ezzel a mintakóddal
from azure.identity import DefaultAzureCredential
from azure.mgmt.postgresqlflexibleservers import PostgreSQLManagementClient
def main():
client = PostgreSQLManagementClient(
credential=DefaultAzureCredential(),
subscription_id=<subscription-id>,
)
# Create database
response = client.databases.begin_create(
resource_group_name="<resource-group-name>",
server_name="<server-name>",
database_name="<database-name>",
parameters={"properties": {"charset": "utf8", "collation": "en_US.utf8"}},
).result()
print(response)
if __name__ == "__main__":
main()
Cserélje le a következő paramétereket az adatokra
- előfizetés-azonosító: Saját előfizetés-azonosító.
- erőforráscsoport neve: Nevezze el a használni kívánt erőforráscsoportot. A szkript létrehoz egy új erőforráscsoportot, ha nem létezik.
- sever-name: A korábban létrehozott rugalmas Azure Database-kiszolgálópéldány neve
- adatbázis neve: A létrehozni kívánt adatbázis neve.
Az erőforrások eltávolítása
Ha már nincs szüksége a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányra, törölheti azt és a társított erőforráscsoportot a Portal, a Python SDK vagy az Azure CLI használatával.
A Példány törlése a Python SDK használatával
Hozzon létre egy "delete_server.py" fájlt a létrehozott Azure Databases for PostgreSQL Server-példány törléséhez.
from azure.identity import DefaultAzureCredential
from azure.mgmt.postgresqlflexibleservers import PostgreSQLManagementClient
def main():
client = PostgreSQLManagementClient(
credential=DefaultAzureCredential(),
subscription_id=<subscription-id>,)
client.servers.begin_delete(
resource_group_name=<rg-name>,
server_name=<server-name>,
).result()
if __name__ == "__main__":
main()