Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart leert u hoe u de Azure Python SDK gebruikt om te communiceren met een flexibele serverinstantie van Azure Database for PostgreSQL.
Azure Database for PostgreSQL is een beheerde service voor het uitvoeren, beheren en schalen van maximaal beschikbare PostgreSQL-databases in de cloud. U kunt python-SDK gebruiken om een exemplaar van een flexibele Azure Database for PostgreSQL-server, meerdere servers of meerdere databases op een server in te richten.
U kunt de volgende bewerkingen uitvoeren met deze bibliotheek:
- Een flexibele PostgreSQL-serverinstantie maken
- Databases beheren
- Firewallregels configureren
- Opschaling van Operaties
- Backup en herstellen
Deze handleiding helpt u de basisfunctionaliteiten van deze SDK te verkennen, zoals het maken van een exemplaar van een flexibele server, het controleren van de gemaakte server, het maken van een database en het verwijderen van het exemplaar.
Vereisten
Account met actief abonnement
Een Azure-account met een actief abonnement Maak er gratis een.
De bibliotheken installeren
Installeer de volgende Azure Python-bibliotheken.
pip install azure-mgmt-resource
pip install azure-identity
pip install azure-mgmt-postgresqlflexibleservers
Voer de aanmeldingsopdracht uit
Meld u aan bij uw account met behulp van azurecli om uw account te verifiëren.
az login
Nadat deze opdracht is uitgevoerd, selecteert u een geldig account om u aan te melden en selecteert u later de abonnements-id in de lijst om u aan te melden.
De server maken
Maak een create_postgres_flexible_server.py bestand en voeg de volgende code toe.
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()
Vervang de volgende parameters door uw gegevens:
- subscription-id: Uw eigen abonnements-id.
- resourcegroep: geef de resourcegroep die u wilt gebruiken een naam. Als deze niet bestaat, wordt er een nieuw script gemaakt.
-
servernaam: een unieke naam die uw exemplaar van azure Database for PostgreSQL flexibele server identificeert. De domeinnaam
postgres.database.azure.comwordt toegevoegd aan de servernaam die u hebt opgegeven. De servernaam moet ten minste drie tekens en maximaal 63 tekens bevatten en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten. -
Locatie: de Azure-regio waar u uw flexibele Azure Database voor PostgreSQL-serverinstantie wilt maken. Hiermee definieert u de geografische locatie waar uw server en de bijbehorende gegevens zich bevinden. Kies een regio dicht bij uw gebruikers voor een verminderde latentie. De locatie moet worden opgegeven in de korte namenindeling van de Azure-regio, zoals
westus2,eastusofnortheurope. - admin-username: de gebruikersnaam van de primaire beheerder voor de server. Nadat de server is gemaakt, kunt u extra gebruikers maken.
- wachtwoord: een wachtwoord voor de primaire beheerder voor de server. Dit wachtwoord moet tussen 8 en 128 tekens bevatten. Uw wachtwoord moet tekens bevatten uit drie categorieën: Nederlandse hoofdletters, Nederlandse kleine letters, cijfers (0 tot en met 9) en niet-alfabetische tekens (!, $, #, %, enzovoort).
U kunt ook waarden toevoegen voor andere parameters, zoals vnet-naam, subnetnaam, privé-DNS-zone en andere parameters aanpassen, zoals de opslaggrootte, de engineversie, enzovoort.
Notitie
De klasse DefaultAzureCredential probeert te verifiëren met behulp van verschillende methoden, zoals omgevingsvariabelen, beheerde identiteiten of de Azure CLI.
Zorg ervoor dat u een van deze methoden hebt ingesteld. Meer informatie over verificatie vindt u in de Documentatie van De Azure SDK.
Wanneer u deze code uitvoert, wordt het proces voor het aanmaken van een instantie gestart. Dit kan enkele minuten duren.
Uitgerolde middelen bekijken
U kunt de Python SDK, Azure Portal, Azure CLI, Azure PowerShell en verschillende andere hulpprogramma's gebruiken om de implementatie te valideren en de geïmplementeerde resources te controleren. Hieronder ziet u enkele voorbeelden.
Implementatie valideren met Python SDK
Voeg de check_server_created functie toe aan uw bestaande script om het serverskenmerk van het PostgreSQLManagementClient-exemplaar te gebruiken om te controleren of het flexibele serverexemplaren van Azure Database for PostgreSQL is gemaakt:
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}'.")
Roep deze aan met de juiste parameters.
check_server_created(subscription_id, resource_group, server_name)
Notitie
De check_server_created functie geeft de serverstatus terug zodra de server is ingevuld. Het kan echter enkele minuten duren voordat de server volledig beschikbaar is. Zorg ervoor dat u wacht totdat de server gereed is voordat u er verbinding mee maakt. De status, id, naam, locatie en andere parameters worden geretourneerd als reactie op de methode postgres_client.servers.get.
Database maken met Python
Maak een database in uw flexibele serverinstantie met deze voorbeeldcode
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()
Vervang de volgende parameters door uw gegevens
- subscription-id: Uw eigen abonnements-id.
- resource-group-name: geef de resourcegroep die u wilt gebruiken. Met het script wordt een nieuwe resourcegroep gemaakt als deze niet bestaat.
- servernaam: De naam van de flexibele Azure-database server instantie die u eerder hebt gemaakt.
- databasenaam: de naam van de database die u wilt maken.
Middelen opschonen
Als u het flexibele serverexemplaar van Azure Database for PostgreSQL niet meer nodig hebt, kunt u deze en de bijbehorende resourcegroep verwijderen met behulp van de portal, Python SDK of Azure CLI.
Python SDK gebruiken om het exemplaar te verwijderen
Maak een 'delete_server.py'-bestand om het Azure Databases for PostgreSQL Server-exemplaar te verwijderen dat is gemaakt.
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()