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 dozvíte, jak pomocí sady Azure Python SDK pracovat s instancí flexibilního 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í
- Konfigurace pravidel firewallu
- Operace š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.
Požadavky
Úč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.
Poznámka:
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)
Poznámka:
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čištění prostředků
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()