Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu se naučíte používat sadu Azure Python SDK k interakci s flexibilní instancí serveru Azure Database for PostgreSQL.
Azure Database for PostgreSQL je spravovaná služba pro spouštění, správu a škálování vysoce dostupných databází PostgreSQL v cloudu. Sadu Python SDK můžete použít ke zřízení instance flexibilního serveru Azure Database for PostgreSQL, více serverů nebo více databází na serveru.
S touto knihovnou můžete provádět následující operace:
- Vytvoření instance flexibilního serveru PostgreSQL
- Správa databází
- Konfigurujte pravidla brány firewall
- Provádění operací škálování
- Zálohování a obnovení
Tato příručka vám pomůže prozkoumat základní funkce této sady SDK, včetně vytvoření flexibilní instance serveru, kontroly vytvořeného serveru, vytvoření databáze a odstranění instance.
Prerequisites
Účet s aktivním předplatným
Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.
Instalace knihoven
Nainstalujte následující knihovny Azure Pythonu.
pip install azure-mgmt-resource
pip install azure-identity
pip install azure-mgmt-postgresqlflexibleservers
Spuštění příkazu login
Přihlaste se ke svému účtu pomocí azurecli k ověření.
az login
Po spuštění tohoto příkazu vyberte platný účet, který se má přihlásit, a později v seznamu vyberte ID předplatného, ke které se chcete přihlásit.
Vytvoření serveru
Vytvořte create_postgres_flexible_server.py soubor a vložte následující kód.
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()
Nahraďte následující parametry vašimi daty:
- subscription-id: Vaše vlastní ID předplatného.
- skupina prostředků: Pojmenujte skupinu prostředků, kterou chcete použít. Pokud neexistuje, skript vytvoří nový.
-
název serveru: Jedinečný název, který identifikuje instanci flexibilního serveru Azure Database for PostgreSQL. Název domény
postgres.database.azure.comse připojí k zadanému názvu serveru. Název serveru musí mít alespoň tři znaky a maximálně 63 znaků a může obsahovat jenom malá písmena, číslice a pomlčky. -
Umístění: Oblast Azure, ve které chcete vytvořit instanci flexibilního serveru Azure Database for PostgreSQL. Definuje zeměpisné umístění, kde se nachází váš server a jeho data. Zvolte oblast blízko uživatelům, aby se snížila latence. Umístění by mělo být zadáno ve formátu krátkých názvů oblastí Azure, například
westus2,eastusnebonortheurope. - admin-username: Primární uživatelské jméno správce serveru. Po vytvoření serveru můžete vytvořit další uživatele.
- heslo: Heslo pro primárního správce serveru. Musí mít 8 až 128 znaků. Heslo musí obsahovat znaky ze tří kategorií: velká písmena anglické abecedy, malá písmena anglické abecedy, číslice (0 až 9) a neosamocené znaky (!, $, #, %atd.).
Můžete také přidat hodnoty pro další parametry, jako je název virtuální sítě, název podsítě, privátní zóna DNS, a přizpůsobit další parametry, jako je velikost úložiště, verze modulu atd.
Note
DefaultAzureCredential třída se pokouší ověřit pomocí různých metod, jako jsou proměnné prostředí, spravované identity nebo Azure CLI.
Ujistěte se, že máte nastavenou jednu z těchto metod. Další informace o ověřování najdete v dokumentaci k sadě Azure SDK.
Spuštěním tohoto kódu zahájíte proces vytváření instance, což může trvat několik minut.
Kontrola nasazených prostředků
K ověření nasazení a kontrole nasazených prostředků můžete použít sadu Python SDK, Azure Portal, Azure CLI, Azure PowerShell a různé další nástroje. Níže jsou uvedeny některé příklady.
Ověření nasazení pomocí sady Python SDK
Přidejte do existujícího check_server_created skriptu funkci pro použití atributu serverů instance PostgreSQLManagementClient a zkontrolujte, jestli se vytvořila instance flexibilního serveru Azure Database for PostgreSQL:
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}'.")
Volejte ho s příslušnými parametry.
check_server_created(subscription_id, resource_group, server_name)
Note
Funkce check_server_created vrátí stav serveru ihned po zřízení serveru. Může ale trvat několik minut, než bude server plně dostupný. Než se k němu připojíte, ujistěte se, že čekáte, až bude server připravený. Vrátí stav, ID, název, umístění a další parametry v reakci na metodu postgres_client.servers.get.
Vytvoření databáze pomocí Pythonu
Vytvoření databáze v instanci flexibilního serveru pomocí tohoto ukázkového kódu
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()
Nahraďte následující parametry vašimi údaji.
- subscription-id: Vaše vlastní ID předplatného.
- název skupiny prostředků: Pojmenujte skupinu prostředků, kterou chcete použít. Skript vytvoří novou skupinu prostředků, pokud tato ještě neexistuje.
- název-serveru: Název instance flexibilního serveru Azure, kterou jste vytvořili dříve
- název databáze: Název databáze, kterou chcete vytvořit.
Vyčistěte zdroje
Pokud už instanci flexibilního serveru Azure Database for PostgreSQL nepotřebujete, můžete ji odstranit a přidruženou skupinu prostředků pomocí portálu, sady Python SDK nebo Azure CLI.
Odstranění instance pomocí sady Python SDK
Vytvořte soubor delete_server.py pro odstranění instance serveru Azure Database for PostgreSQL, která byla vytvořena.
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()