Exempel: Använd Azure-biblioteken för att skapa en resursgrupp

Det här exemplet visar hur du använder Azure SDK-hanteringsbiblioteken i ett Python-skript för att skapa en resursgrupp. (Den Motsvarande Azure CLI-kommando ges senare i den här artikeln. Om du föredrar att använda Azure-portalen kan du läsa Skapa resursgrupper.)

Alla kommandon i den här artikeln fungerar på samma sätt i Linux/macOS bash- och Windows-kommandogränssnitt om de inte anges.

1: Konfigurera din lokala utvecklingsmiljö

Om du inte redan har gjort det konfigurerar du en miljö där du kan köra den här koden. Här följer några alternativ:

2: Installera Azure-bibliotekspaketen

Skapa en fil med namnet requirements.txt med följande innehåll:

azure-mgmt-resource
azure-identity

Installera kraven i en terminal eller kommandotolk med den virtuella miljön aktiverad:

pip install -r requirements.txt

3: Skriva kod för att skapa en resursgrupp

Skapa en Python-fil med namnet provision_rg.py med följande kod. Kommentarerna förklarar informationen:

# 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()

Autentisering i koden

Senare i den här artikeln loggar du in på Azure med Azure CLI för att köra exempelkoden. Om ditt konto har behörighet att skapa och lista resursgrupper i din Azure-prenumeration körs koden.

Om du vill använda sådan kod i ett produktionsskript kan du ange miljövariabler så att de använder en tjänsthuvudnamnsbaserad metod för autentisering. Mer information finns i Autentisera Python-appar med Azure-tjänster. Du måste se till att tjänstens huvudnamn har tillräcklig behörighet för att skapa och lista resursgrupper i din prenumeration genom att tilldela den en lämplig roll i Azure, till exempel rollen Deltagare i din prenumeration.

4: Kör skriptet

  1. Om du inte redan har gjort det loggar du in på Azure med Hjälp av Azure CLI:

    az login
    
  2. AZURE_SUBSCRIPTION_ID Ange miljövariabeln till ditt prenumerations-ID. (Du kan köra kommandot az account show och hämta ditt prenumerations-ID från id egenskapen i utdata):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. Kör skriptet:

    python provision_rg.py
    

5: Verifiera resursgruppen

Du kan kontrollera att gruppen finns via Azure-portalen eller Azure CLI.

  • Azure-portalen: öppna Azure-portalen, välj Resursgrupper och kontrollera att gruppen visas. Om du redan har öppnat portalen använder du kommandot Uppdatera för att uppdatera listan.

  • Azure CLI: använd kommandot az group show :

    az group show -n PythonAzureExample-rg
    

6: Rensa resurser

Kör kommandot az group delete om du inte behöver behålla resursgruppen som skapats i det här exemplet. Resursgrupper debiteras inte några löpande avgifter i din prenumeration, men resurser i resursgruppen kan fortsätta att debiteras. Det är en bra idé att rensa alla grupper som du inte aktivt använder. Argumentet --no-wait gör att kommandot kan returneras omedelbart i stället för att vänta på att åtgärden ska slutföras.

az group delete -n PythonAzureExample-rg  --no-wait

Du kan också använda ResourceManagementClient.resource_groups.begin_delete metoden för att ta bort en resursgrupp från koden. Den kommenterade koden längst ned i skriptet i den här artikeln visar användningen.

Som referens: motsvarande Azure CLI-kommando

Följande Azure CLI az group create-kommando skapar en resursgrupp med taggar precis som Python-skriptet:

az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"

Se även