Voorbeeld: De Azure-bibliotheken gebruiken om een resourcegroep te maken
In dit voorbeeld ziet u hoe u de Azure SDK-beheerbibliotheken in een Python-script gebruikt om een resourcegroep te maken. (De Een equivalente Azure CLI-opdracht wordt verderop in dit artikel gegeven. Als u liever Azure Portal gebruikt, raadpleegt u Resourcegroepen maken.)
Alle opdrachten in dit artikel werken hetzelfde in Linux-/macOS-bash- en Windows-opdrachtshells, tenzij vermeld.
1: Uw lokale ontwikkelomgeving instellen
Als u dit nog niet hebt gedaan, stelt u een omgeving in waarin u deze code kunt uitvoeren. Hieronder volgen een aantal opties:
Configureer een virtuele Python-omgeving met behulp van
venv
of uw hulpprogramma naar keuze. U kunt de virtuele omgeving lokaal of in Azure Cloud Shell maken en daar de code uitvoeren. Zorg ervoor dat u de virtuele omgeving activeert om deze te gaan gebruiken.Gebruik een Conda-omgeving.
Gebruik een Dev-container in Visual Studio Code of GitHub Codespaces.
2: De Azure-bibliotheekpakketten installeren
Maak een bestand met de naam requirements.txt met de volgende inhoud:
azure-mgmt-resource
azure-identity
Installeer de vereisten in een terminal of opdrachtprompt waarbij de virtuele omgeving is geactiveerd:
pip install -r requirements.txt
3: Code schrijven om een resourcegroep te maken
Maak een Python-bestand met de naam provision_rg.py met de volgende code. In de opmerkingen worden de details uitgelegd:
# Import the needed credential and management objects from the libraries.
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Acquire a credential object using DevaultAzureCredential.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Provision the resource group.
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg", {"location": "centralus"}
)
# Within the ResourceManagementClient is an object named resource_groups,
# which is of class ResourceGroupsOperations, which contains methods like
# create_or_update.
#
# The second parameter to create_or_update here is technically a ResourceGroup
# object. You can create the object directly using ResourceGroup(location=
# LOCATION) or you can express the object as inline JSON as shown here. For
# details, see Inline JSON pattern for object arguments at
# https://learn.microsoft.com/azure/developer/python/sdk
# /azure-sdk-library-usage-patterns#inline-json-pattern-for-object-arguments
print(
f"Provisioned resource group {rg_result.name} in the {rg_result.location} region"
)
# The return value is another ResourceGroup object with all the details of the
# new group. In this case the call is synchronous: the resource group has been
# provisioned by the time the call returns.
# To update the resource group, repeat the call with different properties, such
# as tags:
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg",
{
"location": "centralus",
"tags": {"environment": "test", "department": "tech"},
},
)
print(f"Updated resource group {rg_result.name} with tags")
# Optional lines to delete the resource group. begin_delete is asynchronous.
# poller = resource_client.resource_groups.begin_delete(rg_result.name)
# result = poller.result()
Verificatie in de code
Verderop in dit artikel meldt u zich aan bij Azure met de Azure CLI om de voorbeeldcode uit te voeren. Als uw account machtigingen heeft om resourcegroepen in uw Azure-abonnement te maken en weer te geven, wordt de code uitgevoerd.
Als u dergelijke code in een productiescript wilt gebruiken, kunt u omgevingsvariabelen instellen om een op een service-principal gebaseerde methode voor verificatie te gebruiken. Zie Python-apps verifiëren met Azure-services voor meer informatie. U moet ervoor zorgen dat de service-principal voldoende machtigingen heeft om resourcegroepen in uw abonnement te maken en weer te geven door deze toe te wijzen aan een juiste rol in Azure, bijvoorbeeld de rol Inzender voor uw abonnement.
Referentiekoppelingen voor klassen die in de code worden gebruikt
4: Het script uitvoeren
Als u dat nog niet hebt gedaan, meldt u zich aan bij Azure met behulp van de Azure CLI:
az login
Stel de
AZURE_SUBSCRIPTION_ID
omgevingsvariabele in op uw abonnements-id. (U kunt de opdracht az account show uitvoeren en uw abonnements-id ophalen uit deid
eigenschap in de uitvoer):Voer het script uit:
python provision_rg.py
5: De resourcegroep controleren
U kunt controleren of de groep bestaat via Azure Portal of de Azure CLI.
Azure Portal: open Azure Portal, selecteer Resourcegroepen en controleer of de groep wordt vermeld. Als u de portal al hebt geopend, gebruikt u de opdracht Vernieuwen om de lijst bij te werken.
Azure CLI: gebruik de opdracht az group show :
az group show -n PythonAzureExample-rg
6: Resources opschonen
Voer de opdracht az group delete uit als u de resourcegroep die in dit voorbeeld is gemaakt, niet hoeft te behouden. Voor resourcegroepen worden geen lopende kosten in uw abonnement in rekening gebracht, maar er worden mogelijk kosten in rekening gebracht voor resources in de resourcegroep. Het is een goede gewoonte om een groep op te schonen die u niet actief gebruikt. Met --no-wait
het argument kan de opdracht onmiddellijk worden geretourneerd in plaats van te wachten tot de bewerking is voltooid.
az group delete -n PythonAzureExample-rg --no-wait
U kunt ook de ResourceManagementClient.resource_groups.begin_delete
methode gebruiken om een resourcegroep uit code te verwijderen. De commentaarcode onder aan het script in dit artikel laat het gebruik zien.
Ter referentie: equivalente Azure CLI-opdracht
Met de volgende Azure CLI az group create-opdracht maakt u een resourcegroep met tags, net als het Python-script:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Zie ook
- Voorbeeld: Resourcegroepen weergeven in een abonnement
- Voorbeeld: Azure Storage maken
- Voorbeeld: Azure Storage gebruiken
- Voorbeeld: Een web-app maken en code implementeren
- Voorbeeld: Een database maken en er query's op uitvoeren
- Voorbeeld: Een virtuele machine maken
- Azure Managed Disks gebruiken met virtuele machines
- Een korte enquête over de Azure SDK voor Python voltooien