Delen via


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:

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.

4: Het script uitvoeren

  1. Als u dat nog niet hebt gedaan, meldt u zich aan bij Azure met behulp van de Azure CLI:

    az login
    
  2. 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 de id eigenschap in de uitvoer):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. 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